Listare file in maniera ricorsiva in Rust con walkdir
Rust mette già a disposizione delle funzioni per lista una directory, ma non l'ho trovata di facile ustilizzo.
Invece ho trovato molto semplice usare walkdir!
Prima di tutto aggiungetela come dipendenza nel Cargo.toml:
[dependencies]
walkdir = "2.3.2"
Qui sotto un codice di esempio in cui visualiziamo anche il numero totale di file trovati, e listiamo solo i file che non sono cartelle:
extern crate walkdir;
use walkdir::WalkDir;
fn main() {
let dir = "/documenti";
let count_file = WalkDir::new(dir).into_iter().count();
println!("Ci sono un totale di {} files", count_file);
println!();
for file in WalkDir::new(dir)
.into_iter()
.filter_map(|file| file.ok()) {
if file.metadata().unwrap().is_file() {
println!("{}", file.path().display());
}
}
}
Enjoy!
rust walkdir cargo
Commentami!