如何在 Rust 1.x 中正确读写文件?(事实上的方法)
大家好!我最近开始学习 Rust,在处理文件时遇到了问题。在文档和论坛中,我看到了许多不同的方法:有人使用 `std::fs::File`,有人使用 `BufReader`,还有人推荐 `fs2` crate。我完全困惑了。
我需要解决一个简单的任务:逐行读取文本文件,处理每一行(例如添加前缀),并将结果写入新文件。以下是我当前的代码,它能工作但看起来很糟糕:
```rust
use std::fs::File;
use std::io::Read;
use std::io::Write;
fn main() {
let mut input = String::new();
let mut file = File::open("input.txt").unwrap();
file.read_to_string(&mut input).unwrap();
let mut output = File::create("output.txt").unwrap();
for line in input.lines() {
let processed = format!("PREFIX: {}", line);
output.write_all(processed.as_bytes()).unwrap();
output.write_all(b"\n").unwrap();
}
}
```
问题:
1. 我