1
votes

Problème de lecture du texte du fichier - FileNotFoundException

J'ai écrit un exemple de texte dans le cahier. Ensuite, j'ai enregistré le fichier sur le bureau en l'appelant TEST. Lorsque j'essaye de lire son contenu, malheureusement dans le code suivant je reçois le message: "Le fichier ne peut pas être ouvert". Que puis-je faire pour lire le texte du fichier TEST?

Voici mon code:

 public static void main(String[] args) {

        int i;
        FileInputStream fin;

        //Checks whether the file name was specified
        if(args.length !=1) {
            System.out.println("Usage: ShowFile TEST.TXT");
            return;
        }

        //Try open
        try {
            fin = new FileInputStream(args[0]);

        } catch(FileNotFoundException exc) {

            System.out.println("The file can not be opened!");
            return;
        }

        //At this stage, the file is open and ready to read, the following code reads the characters to reach the end of the file
        try {
            do {
                i = fin.read();
                if(i != -1) System.out.println((char)i);

            } while(i != -1);

        } catch (IOException exc) {
            System.out.println("Error reading the file");
        }

        //Close file
        try {
            fin.close();

        } catch(IOException exc) {
            System.out.println("Error close file!");
        }     

    }

Sur la ligne de commande, j'ai écrit: TEST.TXT

 entrez la description de l'image ici


1 commentaires

Essayez d'imprimer le chemin recherché, par exemple System.out.println (nouveau fichier (args [0])) , peut-être que le chemin n'est pas celui attendu (dans ce cas, envisagez de passer un chemin absolu comme argument).


3 Réponses :


3
votes

Essayez ceci

BufferedReader br = new BufferedReader(new FileReader(new File("TEST")));
Sytem.out.println(br.readLine());


0 commentaires

1
votes

C'est parce que le chemin complet n'est pas indiqué et que le répertoire de travail est le répertoire de départ pris. Ce chemin se trouve dans System.getProperty("home.dir").

 System.getProperty("home.user") + "/Desktop/" + args[0]

Vous pouvez utiliser pour le bureau:

Path path = Paths.get("TEST.txt");
System.out.println("Full path: " + path.toAbsolutePath());


0 commentaires

3
votes

Bien sûr, vous obtiendrez une erreur.! Parce que par défaut FileInputStream () vérifierait le fichier dans le répertoire actuel, c'est-à-dire dans le répertoire où se trouve votre fichier source java. Et comme vous avez enregistré votre TEST.TXT sur votre bureau.

Alors pour ouvrir votre fichier situé dans le dossier Desktop. Fournissez simplement le chemin absolu de votre fichier vers FileInputStream.

Par exemple, si le fichier est stocké dans C: \ Users \ user \ Desktop \ TEST.txt

puis

file = new FileInputStream ("C: \ Users \ user \ Desktop \ TEST.txt");

Merci et bon codage ..!


0 commentaires