Como ler e escrever arquivos corretamente em Rust 1.x? (método de facto)
Olá, colegas! Comecei a estudar Rust recentemente e me deparei com um problema ao trabalhar com arquivos. Na documentação e nos fóruns, vejo muitas maneiras diferentes: alguns usam `std::fs::File`, outros `BufReader`, e alguns até recomendam a crate `fs2`. Estou completamente confuso.
Preciso resolver uma tarefa simples: ler um arquivo de texto linha por linha, processar cada linha (por exemplo, adicionar um prefixo) e escrever o resultado em um novo arquivo. Aqui está meu código atual, que funciona, mas parece horrível:
```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();
}
}
```
Problemas:
1. Eu ch