在Rust中,你可以使用标准库中的std::fs模块来与Linux文件系统进行交互。这个模块提供了一系列的函数来创建、删除、重命名文件和目录,以及读取和写入文件内容等操作。
以下是一些基本的示例:
use std::fs;
fn main() -> std::io::Result<()> {
fs::create_dir("some_directory")?;
Ok(())
}
use std::fs;
fn main() -> std::io::Result<()> {
fs::remove_file("some_file.txt")?;
fs::remove_dir("some_directory")?;
Ok(())
}
use std::fs;
fn main() -> std::io::Result<()> {
fs::rename("old_name.txt", "new_name.txt")?;
Ok(())
}
use std::fs;
use std::io::{self, Read};
fn main() -> io::Result<()> {
let mut file = fs::File::open("some_file.txt")?;
let mut contents = String::new();
file.read_to_string(&mut contents)?;
println!("File contents: {}", contents);
Ok(())
}
use std::fs::File;
use std::io::{self, Write};
fn main() -> io::Result<()> {
let mut file = File::create("some_file.txt")?;
file.write_all(b"Hello, world!")?;
Ok(())
}
use std::fs::File;
use std::io::{self, Write};
fn main() -> io::Result<()> {
let mut file = File::open("some_file.txt")?;
file.write_all(b"\nAppended text")?;
Ok(())
}
use std::fs;
use std::path::Path;
fn main() -> std::io::Result<()> {
let path = Path::new("some_file.txt");
if path.exists() {
let metadata = fs::metadata(path)?;
println!("File size: {}", metadata.len());
}
Ok(())
}
这些示例展示了如何使用Rust与Linux文件系统进行基本的交互。在实际应用中,你可能需要处理更多的错误情况和边缘情况,但基本的操作如上所示。此外,Rust还有第三方库,如walkdir用于遍历目录树,serde和toml用于解析配置文件等,这些库可以进一步扩展你的文件系统操作能力。