Dav*_*ndy 7

从Rust 1.9.0开始,通过OpenOptions::create_new它可以安全地和原子地确保您创建新文件,否则您的命令将失败.


tho*_*iha 5

我发现这最有效:

use std::fs;
use std::fs::OpenOptions;
use std::io::prelude::*;

if Path::new(file).exists() {
  fs::remove_file(file).unwrap();
}

File::create(TMP_ADDS).unwrap();
    let mut file = OpenOptions::new()
        .create_new(true)
        .write(true)
        .append(true)
        .open(file)
        .unwrap();

    if let Err(e) = writeln!(file, "{}", line) {
        eprintln!("Couldn't write to file: {}", e);
    }
Run Code Online (Sandbox Code Playgroud)