Maison  >  Article  >  Java  >  Comment résoudre l'erreur « Java.io.File ne peut pas trouver le chemin » lors de l'accès à des fichiers relatifs en Java ?

Comment résoudre l'erreur « Java.io.File ne peut pas trouver le chemin » lors de l'accès à des fichiers relatifs en Java ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-01 03:26:02224parcourir

How to Resolve

Accès aux fichiers relatifs en Java : résolution de l'erreur "java.io.File ne peut pas trouver le chemin"

Lorsque vous travaillez avec Java multi-package projets, il est courant de rencontrer des difficultés pour accéder aux fichiers à partir de chemins relatifs. L'un de ces problèmes est l'erreur « Java.io.File ne peut pas trouver le chemin spécifié », qui se produit lorsque le constructeur File ne peut pas localiser le chemin du fichier spécifié.

Cette erreur se produit généralement lorsque vous tentez d'instancier un objet File. en utilisant un chemin relatif, tel que :

<code class="java">File file = new File("properties\files\ListStopWords.txt");</code>

Dans ce scénario, le fichier peut être trouvé dans un package différent de celui de la classe qui y accède. Cela peut prêter à confusion, car le chemin relatif peut ne pas correspondre à l'emplacement physique du fichier dans la structure de répertoires du projet.

Pour résoudre ce problème, envisagez d'obtenir le fichier à partir du chemin de classe plutôt que du système de fichiers du disque. . En utilisant la méthode getResource() sur la classe, vous pouvez récupérer une URL représentant l'emplacement du fichier dans le chemin de classe :

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

Cette approche garantit que le fichier est localisé en fonction de sa position relative dans le projet, quel que soit le répertoire de travail actuel.

De plus, si vous avez uniquement besoin d'un InputStream dans le fichier, vous pouvez l'obtenir directement à partir du chemin de classe en utilisant getResourceAsStream() :

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

En utilisant le chemin de classe -basé sur l'accès aux fichiers, vous pouvez éviter de vous fier à des chemins relatifs potentiellement ambigus et garantir un accès fiable aux fichiers de votre projet Java.

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