1. Rust文件与IO操作基础
Rust作为一门系统级编程语言,其文件与IO操作设计体现了独特的安全哲学。与C语言等传统系统语言不同,Rust通过所有权系统和类型检查在编译期就能预防许多常见的IO错误。
1.1 标准库文件操作
Rust的标准库提供了完整的文件操作支持,核心结构体包括:
std::fs::File:文件句柄类型std::fs::OpenOptions:文件打开选项std::path::Path:跨平台路径处理
创建新文件的典型操作:
rust复制use std::fs::File;
use std::io::prelude::*;
fn main() -> std::io::Result<()> {
let mut file = File::create("example.txt")?;
file.write_all(b"Hello, Rust!")?;
Ok(())
}
注意:Rust的文件操作默认就是线程安全的,File实例可以在线程间安全传递,但写入操作需要mut可变引用。
1.2 文件打开模式详解
Rust提供了精细的文件打开控制:
rust复制use std::fs::OpenOptions;
let file = OpenOptions::new()
.read(true)
.write(true)
.create(true) // 不存在时创建
.append(true) // 追加模式
.open("config.toml")?;
与C语言的fopen模式对比:
| Rust选项 | C等价模式 | 说明 |
|---|---|---|
| .read() | "r" | 只读 |
| .write() | "w" | 截断写入 |
| .create() | "w+" | 不存在时创建 |
| .append() | "a" | 追加写入 |
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 高效文件读写技术
2.1 缓冲读写优化
直接操作裸文件句柄效率较低,Rust提供了缓冲包装器:
rust复制use std::io::{B
