Heim >Java >javaLernprogramm >Wie kann Java aus zwei absoluten Pfaden einen relativen Pfad generieren?
Mit Java relative Pfade aus absoluten Pfaden konstruieren
Beim Arbeiten mit Dateipfaden in Java kann es notwendig sein, einen relativen Pfad zu erstellen aus zwei absoluten Pfaden. Ein relativer Pfad definiert einen Ort relativ zu einem Basispfad. Dies kann nützlich sein, um Dateioperationen und das Durchlaufen zu vereinfachen.
Frage:
Gegeben zwei absolute Pfade:
/var/data/stuff/xyz.dat /var/data
Wie können Sie eine erstellen relativer Pfad, der den zweiten Pfad als Basis verwendet? In diesem Beispiel ist der erwartete relative Pfad ./stuff/xyz.dat.
Antwort:
Eine Methode zum Erstellen eines relativen Pfads in Java besteht darin, die zu nutzen URI-Klasse. Die URI-Klasse stellt eine Relativisierungsmethode bereit, die die erforderlichen Prüfungen und Berechnungen durchführt.
So können Sie mit der URI-Klasse einen relativen Pfad erstellen:
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"
In diesem Beispiel die Relativierung Die Methode verwendet zwei URI-Objekte, die die absoluten Pfade darstellen, und gibt ein neues URI-Objekt zurück, das den relativen Pfad darstellt. Anschließend wird die Methode getPath() verwendet, um den relativen Pfad als Zeichenfolge zu extrahieren.
Zusätzlicher Hinweis:
Speziell für Dateipfade bieten Java-Versionen 1.7 und höher die java.nio.file.Path#relativize-Methode, mit der relative Pfade direkt zwischen Path-Objekten berechnet werden können. Dies bietet möglicherweise einen optimierteren Ansatz für die Arbeit mit Dateipfaden.
Das obige ist der detaillierte Inhalt vonWie kann Java aus zwei absoluten Pfaden einen relativen Pfad generieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!