目录
什么是 Rust 文件与 IO
Rust 文件与 IO (Input/Output) 是指通过标准库 std::fs
和 std::io
提供的工具,操作文件系统和处理输入输出流。包括文件的创建、读取、写入以及流式数据处理。
为什么要使用文件与 IO
- 数据持久化:保存和读取程序数据。
- 交互性:处理用户输入或外部数据。
- 资源管理:与文件系统集成。
- 错误处理:通过
Result
确保操作安全。
基本文件操作
- 创建与打开:
fs::File::create
、fs::File::open
。 - 删除与检查:
fs::remove_file
、fs::metadata
。 - 路径处理:
std::path::Path
。
use std::fs::File;
File::create("test.txt")?; // 创建文件
读取与写入文件
- 读取:
fs::read_to_string
:一次性读取整个文件。io::BufReader
:按行或缓冲读取。- 写入:
fs::write
:直接写入。io::BufWriter
:缓冲写入。
use std::fs;
fs::write("test.txt", "Hello, Rust!")?;
let content = fs::read_to_string("test.txt")?;
缓冲与流处理
- 缓冲读取:
BufReader
提高效率。 - 缓冲写入:
BufWriter
减少直接 IO。 - 流式处理:处理大文件或实时数据。
use std::io::{BufReader, BufRead};
let file = File::open("test.txt")?;
let reader = BufReader::new(file);
代码示例
创建与写入文件
use std::fs::File;
use std::io::Write;
fn main() -> std::io::Result<()> {
let mut file = File::create("output.txt")?;
file.write_all(b"Hello, Rust!")?;
Ok(())
}
运行结果:output.txt
中写入 “Hello, Rust!”。
读取文件内容
use std::fs;
fn main() -> std::io::Result<()> {
let content = fs::read_to_string("output.txt")?;
println!("Content: {}", content);
Ok(())
}
运行结果:
Content: Hello, Rust!
缓冲按行读取
use std::fs::File;
use std::io::{BufReader, BufRead};
fn main() -> std::io::Result<()> {
let file = File::open("output.txt")?;
let reader = BufReader::new(file);
for line in reader.lines() {
println!("Line: {}", line?);
}
Ok(())
}
运行结果:
Line: Hello, Rust!
参考资料与出站链接
- 官方文档:
- 学习资源:
- 社区支持:
发表回复