Chemin de fichier Java, chemin absolu et chemin canonique

Aujourd’hui, nous examinerons le chemin du fichier Java. Le chemin du fichier Java peut être abstrait, absolu ou canonique.

Chemin du fichier Java

java.io.File contient trois méthodes pour déterminer le chemin du fichier, nous allons les explorer dans ce tutoriel.

  1. getPath(): Cette méthode de chemin de fichier renvoie le chemin d’accès abstrait sous forme de chaîne. Si une chaîne de chemin d’accès est utilisée pour créer un objet File, elle renvoie simplement l’argument de chemin d’accès. Si une URI est utilisée comme argument, elle supprime le protocole et renvoie le nom du fichier.
  2. getAbsolutePath(): Cette méthode de chemin de fichier renvoie le chemin absolu du fichier. Si le fichier est créé avec un chemin d’accès absolu, il renvoie simplement le chemin d’accès. Si l’objet fichier est créé en utilisant un chemin relatif, le chemin d’accès absolu est résolu de manière dépendante du système. Sur les systèmes UNIX, un chemin d’accès relatif est rendu absolu en le résolvant par rapport au répertoire utilisateur actuel. Sur les systèmes Microsoft Windows, un chemin d’accès relatif est rendu absolu en le résolvant par rapport au répertoire actuel du lecteur nommé par le chemin d’accès, le cas échéant; sinon, il est résolu par rapport au répertoire utilisateur actuel.
  3. [getCanonicalPath](https://docs.oracle.com/javase/7/docs/api/java/io/File.html#getCanonicalPath())(): Cette méthode de chemin renvoie le chemin d’accès canonique qui est à la fois absolu et unique. Cette méthode convertit d’abord ce chemin d’accès en forme absolue si nécessaire, comme s’il invoquait la méthode getAbsolutePath, puis le mappe dans sa forme unique de manière dépendante du système. Cela implique généralement la suppression des noms redondants tels que « . » et « .. » du chemin d’accès, la résolution des liens symboliques (sur les plates-formes UNIX) et la conversion des lettres de lecteur en cas standard (sur les plates-formes Microsoft Windows).

Exemple de chemin de fichier Java

Voyons différents cas du chemin de fichier en Java avec un programme simple.

package com.journaldev.files;

import java.io.File;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;

public class JavaFilePath {

	public static void main(String[] args) throws IOException, URISyntaxException {
		File file = new File("/Users/pankaj/test.txt");
		printPaths(file);
		// chemin relatif
		file = new File("test.xsd");
		printPaths(file);
		// chemins relatifs complexes
		file = new File("/Users/pankaj/../pankaj/test.txt");
		printPaths(file);
		// chemins URI
		file = new File(new URI("file:///Users/pankaj/test.txt"));
		printPaths(file);
	}

	private static void printPaths(File file) throws IOException {
		System.out.println("Absolute Path: " + file.getAbsolutePath());
		System.out.println("Canonical Path: " + file.getCanonicalPath());
		System.out.println("Path: " + file.getPath());
	}

}

L’image ci-dessous montre la sortie produite par le programme de chemin de fichier Java ci-dessus. La sortie est explicite. En fonction de la sortie, l’utilisation du chemin canonique est la mieux adaptée pour éviter tout problème lié aux chemins relatifs. Notez également que les méthodes de chemin de fichier Java ne vérifient pas si le fichier existe ou non. Elles fonctionnent simplement sur le chemin d’accès du fichier utilisé lors de la création de l’objet File. C’est tout pour les différents types de chemin de fichier en Java.

Vous pouvez consulter plus d’exemples d’E/S Java sur notre référentiel GitHub.

Source:
https://www.digitalocean.com/community/tutorials/java-file-path-absolute-canonical