目录

  1. 什么是 Rust 文件与 IO
  2. 为什么要使用文件与 IO
  3. 基本文件操作
  4. 读取与写入文件
  5. 缓冲与流处理
  6. 代码示例
  7. 参考资料与出站链接

什么是 Rust 文件与 IO

Rust 文件与 IO (Input/Output) 是指通过标准库 std::fsstd::io 提供的工具,操作文件系统和处理输入输出流。包括文件的创建、读取、写入以及流式数据处理。


为什么要使用文件与 IO

  • 数据持久化:保存和读取程序数据。
  • 交互性:处理用户输入或外部数据。
  • 资源管理:与文件系统集成。
  • 错误处理:通过 Result 确保操作安全。

基本文件操作

  • 创建与打开fs::File::createfs::File::open
  • 删除与检查fs::remove_filefs::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!

参考资料与出站链接

  1. 官方文档
  1. 学习资源
  1. 社区支持