Avatar ·

Wie überprüft man, ob eine Datei oder ein Verzeichnis in Rust existiert? (Path::exists und Alternativen)

Hallo zusammen! Ich bin neu in Rust und versuche, ein einfaches Programm zu schreiben, das prüft, ob eine Datei existiert, bevor ich sie lese. Ich weiß, dass es in Python ein praktisches `os.path.exists()` gibt, aber in Rust habe ich mich noch nicht zurechtgefunden. Hier ist mein Code, der nicht so funktioniert, wie ich es erwarte: ```rust use std::path::Path; fn main() { let path = Path::new("/tmp/test.txt"); if path.exists() { println!("Datei existiert!"); } else { println!("Datei nicht gefunden."); } } ``` Das Problem ist, dass ich mir nicht sicher bin, ob ich `Path::exists()` richtig verwende. Außerdem habe ich gehört, dass es `std::fs::metadata()` gibt, aber ich verstehe den Unterschied nicht. Ich muss auch prüfen, ob der Pfad ein Verzeichnis und keine Datei ist – wie macht man das? Bitte sagt mir, welche Methode in Rust als idiomatisch gilt. Sollte ich Fehler behandeln (z.B. keine Zugriffsrechte)? Und was mache ich, wenn ich die Existenz mehrerer Dateien gleichzeitig prüfen möchte – ist das effizient? Vielen Dank im Voraus für eure Hilfe! Rust gefällt mir sehr.