Løst: Tjek om der findes en fil

Sidste ændring: 09/13/2023

Selvfølgelig, lad os skrive en artikel om at kontrollere, om der findes en fil i Rust:

Kontrollerer om en fil eksisterer eller ej er en almindelig operation udført i enhver form for programmering. Forestil dig, at du har et program, der skal læse en fil og udføre nogle handlinger baseret på dens indhold. Før du får adgang til filen, vil du gerne vide, om den faktisk eksisterer. Til dette formål giver Rust-programmeringssproget os nogle nyttige funktionaliteter.

I Rust har vi Sti modul under std::fs (filsystem) kassen, der giver os mulighed for at interagere med filstier. Det giver flere funktioner, hvoraf en er funktionen `exists()`. Denne funktion bruges til at kontrollere, om en bestemt sti peger på en eksisterende fil eller mappe.

brug std::sti::Sti;

fn main() {
lad filsti = Sti::ny(“sti_til_fil”);
if file_path.exists() {
println!(“Filen findes”);
} Else {
println!(“Filen findes ikke”);
}
}

Forståelse af koden

I ovenstående kode importerer vi først Path-modulet fra Rusts standardbibliotek. I hovedfunktionen opretter vi en ny sti, der peger på den fil, vi vil tjekke.

Metoden `Path::new()` opretter en ny sti. I dette eksempel vil du erstatte `"sti_til_fil"` med den faktiske sti til den fil, du vil kontrollere.

Derefter bruges funktionen `exists()` til at kontrollere, om filen findes på den angivne sti. Hvis filen eksisterer, returnerer den "sand", ellers "falsk". Baseret på denne returværdi udskrives en tilsvarende meddelelse til konsollen.

`std::fs` og `Path`-moduler i Rust

I Rust er arbejdet med filer og mapper lettet af `std::fs` (filsystem) modulet, som giver en masse funktionalitet til håndtering af filer. Dette modul indeholder flere strukturer som "File" til at læse fra og skrive til filer, og "DirEntry" til at læse mapper.

En anden vigtig struktur er `Path`, som repræsenterer en filsti i systemet. Denne `Sti`-struktur giver flere metoder til at håndtere stier, såsom `new()` for at oprette en ny `Path`-forekomst, og `exists()` for at kontrollere om en given sti peger på en eksisterende fil eller mappe.

Håndtering af fejl i rust

I Rust er fejlhåndtering en afgørende del. Ved håndtering af filer kan der opstå forskellige fejl, såsom filen ikke fundet, tilladelse nægtet osv. Rust bruger typerne `Result` og `Option` til fejlhåndtering.

I vores tilfælde, hvis en sti ikke eksisterer, eller der er nogen anden fejl under kontrol af eksistensen af ​​filer, vil `exists()`-funktionen bare returnere `false` uden nogen fejlinformation. Men hvis du har brug for mere detaljeret fejlinformation om, hvad der gik galt, kan du bruge `metadata()`-metoden, som returnerer en `Resultat`-type og giver fejldetaljer.

brug std::fs;

fn main() {
match fs::metadata(“sti_til_fil”) {
Ok(_) => println!(“Filen findes”),
Err(err) => println!(“Fejl: {:?}”, fejl),
}
}

Her kan `metadata()` returnere et `Ok` eller `Err`. Hvis den returnerer "Ok", betyder det, at filen eksisterer, og hvis den returnerer "Err", opstod der en fejl under kontrol af filens eksistens, og fejldetaljerne udskrives.

Relaterede indlæg: