Frage

    

Diese Frage bereits eine Antwort hier:

         

Da habe ich zwei File Objekte I der folgenden Implementierung denken kann:

public File convertToRelative(File home, File file) {
    final String homePath = home.getAbsolutePath();
    final String filePath = file.getAbsolutePath();

    // Only interested in converting file path that is a 
    // direct descendants of home path
    if (!filePath.beginsWith(homePath)) {
        return file;
    }

    return new File(filePath.substring(homePath.length()+1));
}

Gibt es eine intelligentere Weise einen absoluten Dateipfad zu einem relativen Dateipfad umzuwandeln?

  

Mögliche Duplizieren:

     

Wie zu konstruieren, einen relativen Pfad in Java von zwei absoluten Pfaden oder URLs

War es hilfreich?

Lösung

Diese Frage wurde gefragt, bevor hier

Hier ist die Antwort für alle Fälle

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"
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top