Je ne pense pas que ce soit très fréquent, mais parfois vous voulez partir d'un chemin et trouver le chemin relatif d'un autre. Dans Java7 ou version ultérieure, je pense que java.nio.file.Path
est souvent utilisé pour les opérations sur les fichiers (opérations sur le chemin d'origine), mais si vous voulez trouver un chemin relatif en utilisant __Path
Utilisez Path :: relativize
pour. __
JavaDoc sera à l'URL suivante: https://docs.oracle.com/javase/jp/8/docs/api/java/nio/file/Path.html#relativize-java.nio.file.Path-
Il est un peu difficile de comprendre comment utiliser l'API, mais spécifiez le chemin pour lequel vous voulez trouver le chemin relatif comme argument et le chemin que vous souhaitez utiliser comme point de départ pour le récepteur.
Voici un exemple pour trouver le chemin relatif du fichier / a / b / c / répertoire / e / fichier
à partir du répertoire / a / b / c / répertoire
. On suppose que le fichier «/ a / b / c / répertoire / e / fichier» est stocké dans le répertoire «/ a / b / c / répertoire».
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
}
}