我可以使用OpenOptions或类似的单一方法打开创建它及其父目录的文件吗?
这只会创建一个新文件,如果我的路径包含不存在的目录,则它不起作用:
pub fn save_file(file_path: String) -> Result<(), Error> {
let mut db_file = OpenOptions::new()
.create(true)
.append(true)
.open(file_path)?;
db_file.write_all(b"some content")?;
Ok(())
}
Run Code Online (Sandbox Code Playgroud)
Rog*_*mbe 11
我无法找到一个单一的方法来做到这一点,但这里是如何在一个给定的文件中创建父目录(等)2(如果不计let path =......)。
let path = std::path::Path::new("/home/roger/foo/bar/baz.txt");
let prefix = path.parent().unwrap();
std::fs::create_dir_all(prefix).unwrap();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2179 次 |
| 最近记录: |