[JAVA] Ich möchte einen relativen Pfad in einer Situation finden, in der Pfad verwendet wird

Ich denke nicht, dass es sehr häufig ist, aber manchmal möchten Sie von einem Pfad ausgehen und den relativen Pfad eines anderen finden. In Java7 oder höher denke ich, dass java.nio.file.Path häufig für Dateioperationen (ursprüngliche Pfadoperationen) verwendet wird, aber wenn Sie einen relativen Pfad finden möchten, während Sie __Path verwenden Verwenden Sie Path :: relativize für. __ __

JavaDoc befindet sich unter der folgenden URL: https://docs.oracle.com/javase/jp/8/docs/api/java/nio/file/Path.html#relativize-java.nio.file.Path-

Es ist etwas schwierig zu verstehen, wie die API verwendet wird, aber geben Sie den Pfad an, für den Sie den relativen Pfad als Argument finden möchten, und den Pfad, den Sie als Ausgangspunkt für den Empfänger verwenden möchten.

Das folgende Beispiel zeigt den relativen Pfad der Datei "/ a / b / c / Verzeichnis / e / Datei" ausgehend vom Verzeichnis "/ a / b / c / Verzeichnis". Es wird angenommen, dass die Datei "/ a / b / c / Verzeichnis / e / Datei" im Verzeichnis "/ a / b / c / Verzeichnis" gespeichert ist.

package main;

import java.nio.file.Paths;

public class Main {
    public static void main(String[] args) {
        var directory = Paths.get("/a/b/c/directory");
        var file = Paths.get("/a/b/c/directory/e/file");
        
        System.out.println(directory.relativize(file)); // => e\file
    }    
}

Recommended Posts

Ich möchte einen relativen Pfad in einer Situation finden, in der Pfad verwendet wird
Ich möchte ein kleines Symbol in Rails verwenden
Ich möchte eine Funktion in der Rails Console definieren
Ich möchte in RSpec auf einen GoogleMap-Pin klicken
Selbst in Java möchte ich true mit == 1 && a == 2 && a == 3 ausgeben
Ich möchte eine Parkettdatei auch in Ruby erstellen
Ich möchte eine Webanwendung entwickeln!
Ich möchte ein schönes build.gradle schreiben
Ich möchte einen Unit Test schreiben!
Ich möchte @Autowired in Servlet verwenden
Ich möchte im Dialogfeld mehrere Elemente mit einem benutzerdefinierten Layout auswählen
Selbst in Java möchte ich true mit == 1 && a == 2 && a == 3 ausgeben (PowerMockito Edition)
[Hinweis] Ich möchte mit afterLast mit JdbcTemplate in umgekehrter Reihenfolge arbeiten
Ich möchte ein chinesisches (koreanisches) PDF mit dünnen Berichten anzeigen
Ich habe versucht, mit AI "A3RT" eine Talk-App in Java zu erstellen.
Ich möchte für jedes Array mit Lambda-Ausdruck in Java
"Lehrer, ich möchte im Frühjahr eine Anmeldefunktion implementieren" ① Hallo Welt
Ich möchte eine E-Mail in Java senden.
[Ruby] Ich möchte einen Methodensprung machen!
Ich möchte APP_HOME an Logback in Gradle übergeben
Ich wollte (a == 1 && a == 2 && a == 3) in Java wahr machen
Ich möchte eine einfache Wiederholung einer Zeichenkette schreiben
Ich möchte eine Struktur für die Ausnahmebehandlung entwerfen
rsync4j - Ich möchte rsync in Java berühren.
Ich möchte irgendwann sogar in Kotlin sein
Ich habe versucht, einen Server mit Netty zu implementieren
Ich möchte den Wert in Ruby erhalten
Sogar in Java möchte ich true mit == 1 && a == 2 && a == 3 ausgeben (Javassist zweite Abkochung)
Ich möchte in der Lage sein, Dateien mit refile mit administrate [rails6] zu lesen.
Ich habe ein Beispiel erstellt, wie ein Delegat in Swift UI 2.0 mit MapKit geschrieben wird
Selbst in Java möchte ich true mit == 1 && a == 2 && a == 3 (Black Magic) ausgeben.
Ich habe versucht, eine Datenbankverbindung in der Android-Entwicklung zu verwenden
Ich möchte Combine auch in UIKit verwenden.
Ich möchte eine Methode einer anderen Klasse aufrufen
Ich möchte so etwas wie "cls" in Java machen
Ich möchte eine TraceId in das Protokoll einbetten
Ich möchte auch in Laradock Fischschalen verwenden! !!
Ich möchte ES2015 auch in Java verwenden! → (´ ・ ω ・ `)
Ich möchte den Bereich anhand des monatlichen Abschlusses beurteilen
Ich habe versucht, eine Clova-Fähigkeit in Java zu erstellen
Ich möchte eine bestimmte Datei mit WatchService überwachen
Ich habe versucht, eine Anmeldefunktion mit Java zu erstellen
So konvertieren Sie A in a und a in A mit logischem Produkt und Summe in Java
Ich möchte Schlangenfälle mit Tabellendefinitionen stoppen
Ich möchte die Hauptmethode mit Reflektion aufrufen
Ich möchte eine generische Anmerkung für einen Typ erstellen
Ich möchte der Kommentarfunktion eine Löschfunktion hinzufügen
Ich habe versucht herauszufinden, was sich in Java 9 geändert hat
Ich möchte eine Verbindung herstellen, wenn eine Datenbank mit Spring und MyBatis erstellt wird
Ich möchte den Pfad nach der neuen Registrierung ändern, nachdem ich mich mit mehreren Geräten angemeldet habe.
Ich möchte PowerMock in einer Klasse verwenden, die parametrisierte Tests und gewöhnliche Tests kombiniert
[Rails] Ich möchte das Linkziel von link_to auf einer separaten Registerkarte anzeigen
Ich möchte es zusätzlich implementieren, während ich Kotlin auf einer Site verwende, auf der Java ausgeführt wird
Ich möchte die MD5-Prüfsumme einer Datei in Java finden und das Ergebnis als Zeichenfolge in hexadezimaler Notation erhalten.
Ich möchte Zeichen konvertieren ...