Maison  >  Article  >  Java  >  Comment résoudre l'erreur « Le système ne peut pas trouver le chemin spécifié » lors de l'accès aux fichiers en Java ?

Comment résoudre l'erreur « Le système ne peut pas trouver le chemin spécifié » lors de l'accès aux fichiers en Java ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-31 15:30:421002parcourir

How to Resolve

Résolution des problèmes de chemin de fichier en Java lorsque vous rencontrez "Le système ne peut pas trouver le chemin spécifié"

Dans votre projet Java, vous rencontrez une erreur lorsque vous tentez d'accéder à un texte fichier à partir d’un chemin relatif spécifié. Cette erreur résulte de l'incapacité de la classe java.io.File à localiser le chemin désigné.

Pour résoudre ce problème, il est recommandé de récupérer le fichier à partir du chemin de classe au lieu de s'appuyer sur le système de fichiers. Ce faisant, vous éliminez le besoin de chemins relatifs et garantissez que le fichier est obtenu quel que soit le répertoire de travail actuel.

En supposant que le fichier ListStopWords.txt réside dans le même package que la classe FileLoader, ce qui suit Le code montre comment obtenir le fichier à partir du chemin de classe :

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

Alternativement, si votre seul objectif est d'acquérir un InputStream pour le fichier, vous pouvez utiliser ce qui suit :

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

Cette approche est préférable car elle prend en charge diverses représentations de systèmes de fichiers, y compris les systèmes de fichiers virtuels et les chemins réseau.

De plus, si le fichier est un fichier de propriétés contenant des paires clé-valeur, vous pouvez le charger directement à partir d'InputStream :

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

Veuillez noter que si vous accédez au fichier à partir d'un contexte statique, vous devez remplacer getClass() par YourClass.class (où YourClass représente le nom de votre classe).

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