Méthode Java File getPath()
getPath()La méthode est, en Java,java.io.Fileune méthode d'instance de la classe, utilisée pour obtenir la représentation sous forme de chaîne du chemin d'un fichier ou d'un répertoire. Cette méthode renvoie la chaîne de chemin transmise lors de la création de l'objet File, que le chemin soit absolu ou relatif.
Syntaxe de la méthode
Exemple
Valeur de retour
Renvoie la chaîne représentant le chemin du fichier ou du répertoire.Détails de la méthode
Utilisation de base
getPath()La méthode renvoie la chaîne de chemin d'origine utilisée lors de la construction de l'objet File. Cela signifie :
- Si un chemin relatif a été utilisé lors de la construction de l'objet File, le chemin relatif est renvoyé.
- Si un chemin absolu a été utilisé lors de la construction de l'objet File, le chemin absolu est renvoyé.
- La chaîne de chemin conserve son format d'origine (y compris les séparateurs).
Exemple de code
Exemple
public class GetPathExample {
public static void main(String[] args) {
// Créer un objet File en utilisant un chemin relatif
File relativeFile = new File("docs/example.txt");
System.out.println("Chemin relatif : " + relativeFile.getPath());
// Créer un objet File à l'aide d'un chemin absolu
File absoluteFile = new File("/usr/local/docs/example.txt");
System.out.println("Chemin absolu : " + absoluteFile.getPath());
}
}
Résultat de sortie
相对路径: docs/example.txt 绝对路径: /usr/local/docs/example.txt
Comparaison avec d'autres méthodes liées aux chemins
getPath() vs getAbsolutePath()
getPath(): Renvoie la chaîne de chemin d'origine utilisée lors de la construction de l'objet FilegetAbsolutePath(): Renvoie le chemin absolu du fichier (le chemin complet après résolution du chemin relatif)
Exemple de comparaison
Exemple
System.out.println("getPath(): " + file.getPath());
System.out.println("getAbsolutePath(): " + file.getAbsolutePath());
Sortie possible
getPath(): docs/example.txt getAbsolutePath(): /home/user/project/docs/example.txt
getPath() vs getCanonicalPath()
getPath(): Renvoie le chemin d'origine sans aucune résolutiongetCanonicalPath(): Renvoie le chemin absolu normalisé (résolution de tous les chemins relatifs et des liens symboliques)
Scénarios d'application pratiques
Scénario 1 : Journalisation
Lorsque vous devez journaliser les opérations sur les fichiers, utilisezgetPath()pour préserver les informations de chemin d'origine fournies par l'utilisateur.
Exemple
try {
// Traiter le fichier...
System.out.println("Fichier traité : " + inputFile.getPath());
} catch (Exception e) {
System.err.println("Échec du traitement du fichier : " + inputFile.getPath());
}
}
Scénario 2 : Comparaison de chemins
Lorsque vous devez comparer si un chemin saisi par l'utilisateur correspond à un motif spécifique.
Exemple
return file.getPath().endsWith(".config");
}
Notes
getPath()La chaîne de chemin renvoyée peut différer du chemin réel du système de fichiers (en particulier lors de l'utilisation de chemins relatifs).- La chaîne de chemin renvoyée utilise le séparateur de chemin du moment où l'objet File a été construit (qui peut être / ou \).
- La chaîne de chemin n'est pas automatiquement convertie au format standard du système actuel.
- Si l'objet File est construit avec une chaîne vide,
getPath()une chaîne vide sera renvoyée.
Exemple de problèmes de séparateur de chemin
Exemple
File file = new File("C:\\docs\\example.txt");
System.out.println(file.getPath()); // Sortie : C:\docs\example.txt
// Utilisation d'un chemin de style Windows sur un système Unix
File file2 = new File("C:\\docs\\example.txt");
System.out.println(file2.getPath()); // Sortie : C:\docs\example.txt
Résumé
File.getPath()La méthode est un outil simple mais utile qui fournit les informations de chemin d'origine utilisées lors de la création d'un objet File. Bien qu'elle n'effectue aucune résolution ou normalisation de chemin, elle est très utile dans les scénarios où la forme d'origine du chemin saisi par l'utilisateur doit être préservée. Pour les cas nécessitant un chemin absolu ou un chemin normalisé, envisagez d'utiliser lagetAbsolutePath()ougetCanonicalPath()méthode.
Java File