Maison >Java >javaDidacticiel >Pourquoi mon programme Java génère-t-il une exception FileNotFoundException pour \'word.txt\' ?

Pourquoi mon programme Java génère-t-il une exception FileNotFoundException pour \'word.txt\' ?

DDD
DDDoriginal
2024-11-23 16:52:20347parcourir

Why Does My Java Program Throw a FileNotFoundException for

FileNotFoundException : résolution du problème avec "word.txt"

Cette erreur se produit généralement lorsque Java ne parvient pas à localiser le fichier spécifié, " mot.txt." Dans ce cas, nous visons à explorer pourquoi le fichier n'est pas accessible et à fournir une solution.

Énoncé du problème :

Le code ci-dessous tente de lire à partir d'un fichier nommé "word.txt" situé dans le même répertoire que le fichier Java. Cependant, il rencontre une FileNotFoundException :

import java.io.File;
import java.util.*;

public class Hangman1 {
    public static void main(String[] args) throws Exception {
        Scanner input = new Scanner(new File("word.txt"));          
        String in = "";         
        in = input.nextLine();          
    }
}

Analyse :

L'exception indique que le fichier n'a pas pu être trouvé par Java dans le chemin spécifié. Cela peut être dû à plusieurs raisons :

  1. Chemin incorrect : Assurez-vous que le fichier se trouve bien dans le même répertoire que le fichier Java. Sinon, mettez à jour le chemin en conséquence.
  2. Relativité du chemin du fichier : Le chemin spécifié dans le constructeur File est toujours relatif au "répertoire de travail". Dans la plupart des cas, il s'agit du répertoire dans lequel le programme Java est exécuté. S'il est différent, ajustez le chemin d'accès à l'emplacement où le fichier est présent à partir du répertoire de travail.

Solution :

Une solution courante consiste à placer le fichier "word.txt" en tant qu'enfant direct du dossier racine du projet, à côté du dossier "src" :

Project_Root
    src
    word.txt

Cela garantit que le fichier est accessible en spécifiant simplement son nom de fichier comme chemin relatif. Notez que le répertoire de travail, qui est généralement la racine du projet pour les IDE, peut être différent lors de l'exécution du programme à partir de la ligne de commande.

Avertissement :

Bien que cette solution peut fonctionner pour ce scénario spécifique, il est important de noter que le « répertoire de travail » peut changer dynamiquement. Par exemple, si le programme est exécuté depuis la ligne de commande, le répertoire de travail sera le répertoire bin. De plus, inclure le fichier en tant que ressource intégrée dans un fichier JAR peut nécessiter des approches alternatives, telles que l'accès via des URL à partir du chemin de 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