在Rust中,你可以使用标准库中的std::fs模块来进行文件操作。以下是一些基本的文件操作示例:
use std::fs::File;
use std::io::{self, Read};
fn main() -> io::Result<()> {
let mut file = File::open("example.txt")?;
let mut contents = String::new();
file.read_to_string(&mut contents)?;
println!("File contents: {}", contents);
Ok(())
}
use std::fs::File;
use std::io::Write;
fn main() -> std::io::Result<()> {
let mut file = File::create("example.txt")?;
file.write_all(b"Hello, world!")?;
Ok(())
}
use std::fs::File;
use std::io::{self, Write};
fn main() -> std::io::Result<()> {
let mut file = File::create("example.txt")?;
file.write_all(b"Hello, world!")?;
file.sync_all()?; // 确保数据被写入磁盘
Ok(())
}
use std::fs::OpenOptions;
use std::io::{self, Write};
fn main() -> std::io::Result<()> {
let mut file = OpenOptions::new().append(true).open("example.txt")?;
file.write_all(b"\nNew line!")?;
file.sync_all()?; // 确保数据被写入磁盘
Ok(())
}
use std::fs;
fn main() -> std::io::Result<()> {
fs::remove_file("example.txt")?;
Ok(())
}
use std::fs;
fn main() -> std::io::Result<()> {
fs::rename("example.txt", "new_example.txt")?;
Ok(())
}
use std::path::Path;
fn main() -> std::io::Result<()> {
let path = Path::new("example.txt");
if path.exists() {
println!("File exists!");
} else {
println!("File does not exist.");
}
Ok(())
}
use std::fs::{Metadata, File};
use std::path::Path;
fn main() -> std::io::Result<()> {
let path = Path::new("example.txt");
let metadata: Metadata = path.metadata()?;
println!("File size: {}", metadata.len());
Ok(())
}
这些示例展示了如何在Rust中进行基本的文件操作。你可以根据需要组合这些操作来实现更复杂的功能。记得处理可能的错误,因为文件操作可能会失败(例如,文件不存在或没有权限访问)。