¿Cómo leer y escribir archivos correctamente en Rust 1.x? Formas de facto de trabajar con archivos
¡Hola, colegas! Soy nuevo en Rust y estoy tratando de entender la lectura y escritura de archivos. En otros lenguajes (por ejemplo, Python) esto se hace en una sola línea, pero aquí me encontré con un montón de opciones: `std::fs::File`, `BufReader`, `read_to_string`, `write_all`... Me da vueltas la cabeza.
Necesito resolver dos tareas simples:
1. Leer todo un archivo de texto en una string.
2. Escribir una string en un archivo (crear uno nuevo o sobrescribir uno existente).
Probé este código, pero parece demasiado engorroso:
```rust
use std::fs::File;
use std::io::Read;
fn main() {
let mut file = File::open("data.txt").unwrap();
let mut contents = String::new();
file.read_to_string(&mut contents).unwrap();
println!("{}", contents);
}
```
Y para escribir:
```rust
use std::fs::File;
use std::io::Write;
fn main() {
let mut file = File::create("output.txt").unwrap();
file.write_all(b"Hello, Rust!").unwrap();
}
```
Preguntas:
- ¿Es este el enfoque correcto o hay formas más idiomáticas?