在Rust中进行文件操作,你可以使用标准库中的std::fs模块。以下是一些基本的文件操作示例:
use std::fs::File;
use std::io::{self, Write};
fn main() -> io::Result<()> {
let mut file = File::create("foo.txt")?;
writeln!(file, "Hello, world!")?;
Ok(())
}
use std::fs::File;
use std::io::{self, Read};
fn main() -> io::Result<()> {
let mut file = File::open("foo.txt")?;
let mut contents = String::new();
file.read_to_string(&mut contents)?;
println!("File contents: {}", contents);
Ok(())
}
use std::fs::OpenOptions;
use std::io::{self, Write};
fn main() -> io::Result<()> {
let mut file = OpenOptions::new().append(true).open("foo.txt")?;
writeln!(file, "Another line!")?;
Ok(())
}
use std::fs::File;
use std::io::{self, Read};
fn main() -> io::Result<()> {
let mut file = File::open("foo.txt")?;
let mut contents = Vec::new();
file.read_to_end(&mut contents)?;
println!("File contents: {:?}", contents);
Ok(())
}
use std::fs;
fn main() -> std::io::Result<()> {
fs::remove_file("foo.txt")?;
Ok(())
}
use std::fs;
fn main() -> std::io::Result<()> {
fs::rename("foo.txt", "bar.txt")?;
Ok(())
}
use std::fs;
fn main() -> std::io::Result<()> {
fs::create_dir("my_new_directory")?;
Ok(())
}
use std::fs;
fn main() -> std::io::Result<()> {
fs::remove_dir("my_new_directory")?;
Ok(())
}
请注意,上述代码中的?操作符用于简化错误处理。如果发生错误,它会将错误向上传播给调用者。在实际应用中,你可能需要更详细的错误处理逻辑。
此外,Rust还提供了std::path::Path和std::path::PathBuf类型来处理文件路径,以及std::env模块来获取环境变量等信息。
在进行文件操作时,请确保你有足够的权限来访问和修改目标文件或目录。