Cómo obtener una lista de archivos en un directorio en Rust
¡Hola a todos! Acabo de empezar a aprender Rust y estoy intentando escribir una utilidad simple para trabajar con archivos. Necesito obtener una lista de todos los archivos en un directorio dado. En Python usaría `os.listdir()`, pero en Rust no encuentro un equivalente.
He probado a usar `std::fs::read_dir()`, pero no entiendo cómo procesar correctamente el resultado. Aquí está mi código:
```rust
use std::fs;
fn main() {
let entries = fs::read_dir(".").unwrap();
for entry in entries {
println!("{:?}", entry);
}
}
```
Esto imprime algo como `Ok(DirEntry(...))`, pero yo solo necesito los nombres de los archivos. También quiero distinguir archivos de carpetas y, posiblemente, filtrar solo archivos con una extensión específica (por ejemplo, `.txt`). También me interesa saber cómo manejar errores sin `unwrap()`, porque en un proyecto real la carpeta puede no existir o no ser accesible para lectura.
¿Podrían indicarme cómo implementar correctamente la obtención de la lista de archivos en Rust? Preferiblemente con manejo de errores y filtrado. ¡Gracias de antemano!