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!