Java: Wie finde ich heraus, ob der Pfad absolut ist, unabhängig von der OS
Gibt es irgendwie in Java, um herauszufinden, ob der angegebene Pfad absolut ist oder nicht, unabhängig von der Plattform das Programm gerade läuft. Also, was ich will, ist wohl sowas wie das folgende Beispiel:
Unter Linux:
new File("/home/").isAbsolute() //Should return true.
new File("C:/My Documents").isAbsolute() //Should *also* return true.
Unter Windows:
new File("C:/Documents").isAbsolute() //Should return true.
new File("/home/").isAbsolute() //Should *also* return true.
Kann ich wohl etwas code, um zu bekommen, aber ich wollte nur herausfinden, ob jemand wusste, dass eine built-in-Klasse in Java, um dieses problem zu lösen. Oder hat jemand jemals dieses problem? Und wie hast du es lösen?
Dank!
InformationsquelleAutor der Frage His | 2009-06-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
NÖ.
Gibt es einige zugrunde liegenden Dateisystem Klassen (Java 7, aber Sie existieren, bevor es als gut) , setzen isAbsolute(), aber Sie sind nicht öffentlich - also Sie sollte nicht Verwendung, und selbst wenn du hast dein code wäre voll der Reflexion junk - und nur die "richtigen" OS sind enthalten in der JRE, so müssten Sie den code um Sie herum sowieso.
Hier sind die Java-7-Implementierungen von isAbsolute (...), um Ihnen den Einstieg. Beachten Sie, dass Datei.getPrefixLength() ist package-private.
Win32FileSystem:
UnixFileSystem:
InformationsquelleAutor der Antwort Kevin Montrose
In Java 7:
InformationsquelleAutor der Antwort Val Blant
Mein knacken an dieser Apache FilenameUtil -
Technisch ist die Rückkehr !relativ. Das ist gut für meine Zwecke.
InformationsquelleAutor der Antwort remery
Landete ich mit diesem (in Java 6):
InformationsquelleAutor der Antwort stuhpa