Rust programiranje stoji kao sistem otvorenog koda, dizajniran sa namjerom da ponudi i performanse i sigurnost. Jedna od njegovih najpriznatijih karakteristika je sposobnost upravljanja memorijom na siguran način bez potrebe za sakupljačem smeća. Jednostavnim rečima, Rust je prilično moćan sistemski programski jezik koji nudi pristup kodu niskog nivoa i takođe se izvršava velikom brzinom. U ovom kontekstu, raspravljat ćemo o tome kako dobiti sve datoteke u direktoriju koristeći Rust.
Dobijanje datoteka u direktorij koristeći Rust
Da biste izvršili zadatak preuzimanja svih datoteka iz direktorija, std::fs modul se koristi. Ovaj modul dolazi sa funkcijom pod nazivom read_dir(), koji se posebno koristi za čitanje sadržaja direktorija.
koristite std::fs;
fn main() {
neka staze = fs::read_dir(“/path/to/directory”).unwrap();
za put u stazama {
println!(“Naziv: {}”, path.unwrap().path().display())
}
}
Objašnjenje Kodeksa
Rust kod koji je ovdje dat je prilično jednostavan. U početku se uvozi modul fs iz standardne biblioteke Rust. Modul fs sadrži nekoliko funkcija koje se odnose na operacije sistema datoteka.
Zatim, unutar glavne funkcije, koristimo read_dir() funkcija koju obezbjeđuje modul fs za čitanje sadržaja direktorija. Važno je napomenuti da je putanja do direktorija data kao tvrdo kodirani niz, koji zahtijeva podešavanje prema vašim željama.
The read_dir() funkcija vraća iterator preko stavki (i datoteka i direktorija) unutar navedenog direktorija. Svaka stavka ovog iteratora je a rezultat koji ili sadrži DirEntry (kada se stavci može uspješno pristupiti) ili grešku.
Koristimo odmotati() funkcija za rukovanje ovim rezultatima i pristup stvarnim vrijednostima DirEntry. Međutim, imajte na umu da odmotati() uspaničio bi se u slučaju pojave greške i stoga se ne preporučuje za proizvodni kod. Implementacija odgovarajućih mjera za rukovanje greškama ovdje bi bila idealnija.
Završni dio koda sastoji se od petlje koja se ponavlja preko dobijenih putanja. Za svaku putanju ispisujemo ime datoteke pristupajući putanji DirEntry i prikažite ga na konzoli.
Ostale funkcije i biblioteke za pristup direktorijumu u Rustu
Osim std::fs modula korištenog u primjeru, Rust ekosistem također nudi dodatne biblioteke kao što su walkdir i globus koji se može koristiti za složenije operacije direktorija i sistema datoteka, kao što je hodanje po stablu direktorija ili podudaranje obrazaca putanja.
Walkdir biblioteka nudi funkcije za rekurzivno kretanje kroz direktorije, praćenje simboličkih veza i mogućnost prilagođavanja prelaska preskakanjem direktorija. globus, s druge strane, može se koristiti za uparivanje obrazaca putanja, što može biti vrlo korisno u operacijama u kojima se iz direktorija moraju odabrati određene vrste datoteka.
