Maison  >  Article  >  Java  >  Comment puis-je éviter les erreurs « Chemin introuvable » lors de la lecture de fichiers avec des chemins relatifs en Java ?

Comment puis-je éviter les erreurs « Chemin introuvable » lors de la lecture de fichiers avec des chemins relatifs en Java ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-29 11:53:02315parcourir

How Can I Avoid

Lecture de fichiers à partir de chemins relatifs en Java : résolution du problème du « Chemin introuvable »

En Java, accès aux fichiers via des chemins relatifs à l'aide de Java .io.File peut parfois rencontrer l'erreur « Le système ne peut pas trouver le chemin spécifié. » Cela peut se produire lors du traitement de fichiers situés dans différents packages ou JAR. Pour résoudre ce problème, des approches alternatives sont nécessaires.

Solution 1 : Accéder aux fichiers via Classpath

Au lieu d'utiliser des chemins relatifs dans Fichier, il est préférable d'obtenir le fichier à partir de le chemin de classe. Cela garantit l’indépendance par rapport au répertoire de travail actuel. En supposant que le fichier se trouve dans le même package que la classe qui y accède, le code suivant peut être utilisé :

<code class="java">URL url = getClass().getResource("ListStopWords.txt");
File file = new File(url.getPath());</code>

Solution 2 : Utilisation d'InputStream

Si vous le souhaitez Le résultat est d'obtenir un InputStream pour le fichier, y accéder directement à partir du chemin de classe est plus efficace :

<code class="java">InputStream input = getClass().getResourceAsStream("ListStopWords.txt");</code>

Considérations relatives aux fichiers de propriétés

Si le fichier est un fichier de propriétés (contenant des paires clé-valeur), le InputStream peut être utilisé pour charger les propriétés directement :

<code class="java">Properties properties = new Properties();
properties.load(getClass().getResourceAsStream("ListStopWords.txt"));</code>

Remarque pour les contextes statiques

Lors de l'accès au fichier à partir d'un contexte statique, remplacez getClass() par YourClass.class ou FileLoader.class dans les exemples de code ci-dessus.

En employant ces techniques, l'accès aux fichiers à partir de chemins relatifs en Java peut être effectué de manière fiable, en évitant le "Path Erreur "Not Found" et assurer l'indépendance de l'application par rapport au répertoire de travail actuel.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn