Betrachten Sie die Herausforderung, einen relativen Pfad aus zwei absoluten Pfaden zu konstruieren. Wenn beispielsweise diese absoluten Pfade gegeben sind:
/var/data/stuff/xyz.dat /var/data
Der gewünschte relative Pfad, mit dem zweiten Pfad als Basis, ist:
./stuff/xyz.dat
Wie kann dies in Java effektiv erreicht werden?
Um dieses Problem zu lösen, sollten Sie die Verwendung der URI-Klasse von Java in Betracht ziehen. URI bietet eine Methode, Relativize, die den Prozess der Erstellung eines relativen Pfads basierend auf den bereitgestellten absoluten Pfaden automatisiert.
String path = "/var/data/stuff/xyz.dat"; String base = "/var/data"; String relative = new File(base).toURI().relativize(new File(path).toURI()).getPath(); // relative == "stuff/xyz.dat"
Wenn Ihre Java-Version 1.7 oder ist Später können Sie auch die Relativisierungsmethode nutzen, die in java.nio.file.Path.
String path = "/var/data/stuff/xyz.dat"; String base = "/var/data"; Path basePath = Paths.get(base); Path absPath = Paths.get(path); Path relativePath = basePath.relativize(absPath); // relativePath == Paths.get("stuff/xyz.dat")
Das obige ist der detaillierte Inhalt vonWie kann ich in Java einen relativen Pfad aus zwei absoluten Pfaden konstruieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!