Gibt es trotzdem in Java, ob der angegebene Pfad absolut ist oder nicht, unabhängig von der Plattform, auf der das Programm gerade ausgeführt wird. Also, was ich will, ist wahrscheinlich so etwas wie das folgende Beispiel:Java: Wie finde ich heraus, ob der Pfad unabhängig vom Betriebssystem absolut ist?
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 wahrscheinlich Code etwas zu bekommen, um mit diesem, aber ich wollte nur herausfinden, ob jemand eine eingebaute Klasse in Java kannte, um dieses Problem zu lösen. Oder hat jemals jemand dieses Problem? Und wie hast du es gelöst?
Danke!
auf Linux, ein Pfad wie "c:/Meine Dokumente" ist wahrscheinlich ungültig, und es ist sicherlich nicht absolut. In Systemen, die den Posix-Standard implementieren, existieren alle Pfade unter einem einzelnen "root", und somit beginnt ein absoluter Pfad bei diesem root. Ein absoluter Pfad beginnt also immer mit "/". alles andere wird als relativ zum aktuellen Arbeitsverzeichnis des Prozesses angesehen. Unter Linux versteht man unter "C:/..." das Verzeichnis innerhalb des aktuellen Arbeitsverzeichnisses mit dem Namen "C:", das höchstwahrscheinlich Unsinn ist. – SingleNegationElimination
Ihre Frage macht wenig Sinn. Stellen Sie sich ein hypothetisches Betriebssystem vor, bei dem alle Pfade absolut sind. Nehmen wir an, es gibt Java auf diesem Betriebssystem. Um Ihre Anforderung zu erfüllen, benötigen Sie daher eine isFileAbsolute() -Methode, die unabhängig von der Plattform, auf der das Programm gerade ausgeführt wird, immer true zurückgibt. Einfach zu implementieren, aber bedeutungslos. –
Ich habe eine Situation, in der Benutzer ein Arbeitsverzeichnis auf einem Remote-Computer konfiguriert. Auf dem Remotecomputer kann Unix oder Windows ausgeführt werden (obwohl das am häufigsten vorkommende Szenario der lokale Computer ist Windows und der Remotecomputer Unix). Der benutzerspezifische Pfad muss validiert werden, und es muss bestimmt werden, ob ein Pfad absolut ist. –