Utiliser Java pour construire des chemins relatifs à partir de chemins absolus
Lorsque vous travaillez avec des chemins de fichiers en Java, il peut être nécessaire de créer un chemin relatif à partir de deux chemins absolus. Un chemin relatif définit un emplacement par rapport à un chemin de base. Cela peut être utile pour simplifier les opérations et le parcours des fichiers.
Question :
Étant donné deux chemins absolus :
/var/data/stuff/xyz.dat /var/data
Comment pouvez-vous créer un chemin relatif qui utilise le deuxième chemin comme base ? Dans cet exemple, le chemin relatif attendu est ./stuff/xyz.dat.
Réponse :
Une méthode pour construire un chemin relatif en Java consiste à exploiter le Classe URI. La classe URI fournit une méthode relativize qui effectue les vérifications et les calculs nécessaires.
Voici comment utiliser la classe URI pour créer un chemin relatif :
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"
Dans cet exemple, la classe relativize La méthode prend deux objets URI représentant les chemins absolus et renvoie un nouvel objet URI représentant le chemin relatif. La méthode getPath() est ensuite utilisée pour extraire le chemin relatif sous forme de chaîne.
Remarque supplémentaire :
Pour les chemins de fichiers en particulier, les versions Java 1.7 et supérieures fournissent le méthode java.nio.file.Path#relativize, qui peut être utilisée pour calculer des chemins relatifs directement entre les objets Path. Cela peut offrir une approche plus optimisée pour travailler avec les chemins de fichiers.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!