Heim >Java >javaLernprogramm >Wie konstruiere ich in Java relative Pfade aus absoluten Pfaden?

Wie konstruiere ich in Java relative Pfade aus absoluten Pfaden?

DDD
DDDOriginal
2024-12-08 04:56:10925Durchsuche

How to Construct Relative Paths from Absolute Paths in Java?

Konstruieren relativer Pfade aus absoluten Pfaden in Java

Beim Arbeiten mit absoluten Pfaden in Java kann es Fälle geben, in denen Sie einen erstellen müssen relativer Pfad basierend auf einem anderen absoluten Pfad. Dieser Artikel zeigt, wie Sie dies mithilfe der URI-Klasse und ihrer Relativierungsmethode erreichen.

Betrachten Sie die folgenden zwei absoluten Pfade:

/var/data/stuff/xyz.dat
/var/data

Um einen relativen Pfad zu erstellen, der den zweiten Pfad als seinen verwendet base, folgen Sie diesen Schritten:

  1. Konvertieren Sie beide absoluten Pfade mithilfe der File-Klasse und des toURI in URIs Methode.
  2. Rufen Sie die Relativisierungsmethode für den URI auf, der den Basispfad darstellt, und übergeben Sie den URI, der den absoluten Pfad darstellt.
  3. Rufen Sie die Pfadkomponente aus dem resultierenden URI ab, um den relativen Pfad zu erhalten.

Hier ist ein Beispiel-Codeausschnitt:

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"

Dieser Code erzeugt einen relativen Pfad von „stuff/xyz.dat“, was das gewünschte Ergebnis ist.

Es ist erwähnenswert, dass Java 1.7 für Dateipfade die Path#relativize-Methode eingeführt hat, die auch für diesen Zweck verwendet werden kann.

Das obige ist der detaillierte Inhalt vonWie konstruiere ich in Java relative Pfade aus absoluten Pfaden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn