文件读取 | 1.一次性读取整个文件 1.如果文件不是很大,可以读取整个文件到内存中, 通过 std::fs::read_to_string 函数实现 let content = fs::read_to_string("/path/to/file.txt").expect("Failed to read file"); println!("File contents: {}",content) 2.逐行读取 let file = File::open("path/to/file.txt").expect("Failed to open file"); let reader = BufReader::new(file); for line in reader.lines() { let line = line.expect("Failed to read line"); println!("{}", line); } |
文件写入 | 1.写入文本 let data = "hello world" fs::write("path/file.txt",data).expect("failed to wirte file") //fs:file system 的缩写 2.更复杂的写入:通过std::io.Write trait来写入 use std::fs::File; use std::io::{self, Write}; // 引入必要的模块 fn main() { let mut file = File::create("path/to/output.txt").expect("Failed to create file"); //创建文件句柄 writeln!(file, "Hello, Rustaceans!").expect("Failed to write to file");} |
创建文件夹 | 通过 std::fs::create_dir_all 创建文件夹 fs::create_dir_all("path").expect("failed") |
删除文件 | 通过 std::fs::remove_file 删除目录 fs::remove_file("path").expect("failed") |
删除空目录 | 通过std::fs::remove_dir 删除空目录 fs::remove_dir("path").expect("failed") |
删除非空目录 | 需要递归删除子目录和文件,通过 fs_extra来支持 extern crate fs_extra; use fs_extra::dir::remove_dir_all; fn main() { remove_dir_all("path/to/non_empty_directory").expect("Failed to remove directory recursively"); } |
rust学习_文件与IO
于 2024-09-13 11:02:40 首次发布