rust 一些文件操作 -追加写、嵌套目录创建、仅获取文件名

文章目录

  • 1 追加写 std::fs::OpenOptions::append()
  • 2 目录创建 std::fs::create_dir_all()
  • 3 获得路径下所有文件名,仅文件名

1 追加写 std::fs::OpenOptions::append()

use std::fs::OpenOptions;
use std::io::Write;

fn main () {
    let mut file = OpenOptions::new().append(true).open("foo.txt").unwrap();
    let _ = writeln!(file, "aaa");
    let _ = file.write_all("bbb".as_bytes());
}

2 目录创建 std::fs::create_dir_all()

create_dir() 也行,但create_dir在创建目录时,若嵌套的路径存在缺失或者路径已存在时,都会返回Err;

create_dir_all() 会以递归的形式创建目录,允许同时创建嵌套路径,文件存在时,也不会Err


3 获得路径下所有文件名,仅文件名

适用于指定路径下均为文件的情况

  let paths = std::fs::read_dir("./ev_logs/").unwrap(); // 可迭代对象ReadDir
  let log_arr = paths
    .map(|f|f.unwrap().path().file_name().unwrap().to_str().unwrap().to_owned())
    .collect::<Vec<String>>();
  println!("{:?}", log_arr);

你可能感兴趣的:(rust,rust,开发语言,后端)