Ich benötige eine gültige Methode, um zu überprüfen, ob a String
einen Pfad für eine Datei oder ein Verzeichnis darstellt. Was sind gültige Verzeichnisnamen in Android? Ordnernamen können '.'
Zeichen enthalten. Wie versteht das System also, ob es eine Datei oder einen Ordner gibt?
141
Antworten:
Vorausgesetzt, es
path
ist deinString
.Siehe
File
JavadocOder Sie können die NIO-Klasse verwenden
Files
und Folgendes überprüfen:quelle
path
In meinem Beispiel ist dasString
. Warum können Sie keineFile
Instanz erstellen ? Beachten Sie, dass dies nichts am Dateisystem ändert.root
dies eine Datei sein kann. Dateien haben nicht unbedingt eine.something
Erweiterung.Saubere Lösung bei gleichzeitiger Verwendung der nio API:
quelle
File
jedes Mal ein neues Objekt zu erstellen .Bitte halten Sie sich an die nio API, um diese Überprüfungen durchzuführen
quelle
quelle
Das System kann Ihnen nicht mitteilen, ob a
String
einfile
oder darstelltdirectory
, wenn es im Dateisystem nicht vorhanden ist. Beispielsweise:Und für das folgende Beispiel:
Wir sehen also, dass das System in beiden Fällen false zurückgibt. Dies gilt sowohl für
java.io.File
als auchjava.nio.file.Path
quelle
Um zu überprüfen, ob eine Zeichenfolge programmgesteuert einen Pfad oder eine Datei darstellt, sollten Sie API-Methoden wie z
isFile(), isDirectory().
Ich denke, die Datei- und Ordnereinträge werden in einer Datenstruktur gespeichert und vom Dateisystem verwaltet.
quelle
quelle
Um die Frage direkt zu beantworten.
quelle