在Rust中,处理文件I/O主要使用标准库中的std::fs和std::io模块。以下是一些基本的文件I/O操作示例:
use std::fs::{File, OpenOptions};
use std::io::{self, Read, Write};
use std::path::Path;
fn main() -> io::Result<()> {
let path = Path::new("example.txt");
let mut file = OpenOptions::new()
.write(true)
.create(true)
.open(&path)?;
file.write_all(b"Hello, world!")?;
Ok(())
}
fn main() -> io::Result<()> {
let path = Path::new("example.txt");
let mut file = File::open(&path)?;
let mut contents = Vec::new();
file.read_to_end(&mut contents)?;
println!("File contents: {:?}", String::from_utf8_lossy(&contents));
Ok(())
}
fn main() -> io::Result<()> {
let path = Path::new("example.txt");
let mut file = OpenOptions::new()
.write(true)
.append(true)
.open(&path)?;
file.write_all(b"\nAppended text")?;
Ok(())
}
use std::io::{self, BufRead};
fn main() -> io::Result<()> {
let path = Path::new("example.txt");
let file = File::open(&path)?;
let reader = io::BufReader::new(file);
for line in reader.lines() {
println!("Line: {}", line?);
}
Ok(())
}
这些示例展示了如何在Rust中使用标准库进行基本的文件I/O操作。你可以根据需要组合这些操作以满足你的需求。注意,这里的错误处理使用了Result类型,因此在实际应用中,你可能需要更详细的错误处理。