Como obter uma lista de arquivos em um diretório no Rust?
Olá a todos! Comecei a estudar Rust recentemente e estou tentando escrever um utilitário simples para trabalhar com arquivos. Preciso obter uma lista de todos os arquivos em um diretório específico. Em Python, eu usaria `os.listdir()`, mas no Rust não consigo encontrar um equivalente.
Tentei usar `std::fs::read_dir()`, mas não entendo como processar corretamente o resultado. Aqui está meu código:
```rust
use std::fs;
fn main() {
let entries = fs::read_dir(".").unwrap();
for entry in entries {
println!("{:?}", entry);
}
}
```
Ele imprime algo como `Ok(DirEntry(...))`, mas eu preciso apenas dos nomes dos arquivos. Além disso, quero distinguir arquivos de pastas e, possivelmente, filtrar apenas arquivos com uma extensão específica (por exemplo, `.txt`). Também estou interessado em como lidar com erros sem `unwrap()`, porque em um projeto real o diretório pode não existir ou não estar acessível para leitura.
Alguém pode me ajudar a implementar corretamente a obtenção da lista de arquivos em Rust? De preferência com tratamento de erros e filtragem. Desde já, obrigado!