2017-09-29 3 views
-2

Ceci est l'erreur que je l'expérience en essayant d'analyser un fichier entrant:Essayer d'entrer un fichier dans Java en utilisant un lecteur tamponné. Obtenir un FileNotFoundError

Erreur dans le fichier d'analyse. java.io.FileNotFoundException: input.txt (Le système ne peut pas trouver le fichier spécifié) à java.io.FileInputStream.open0 (Native Method) à java.io.FileInputStream.open (Source inconnue) à java. io.FileInputStream. (Source inconnue) à java.io.FileInputStream. (Source inconnue) à java.io.FileReader. (Source inconnue) à MovieDatabaseManager.parseInputFile (MovieDatabaseManager.java:47) à MovieDatabaseManager. (MovieDatabaseManager .java: 32) à MovieDatabaseManager.main (MovieDatabaseManager.java:206)

Voici le code:

public MovieDatabaseManager(String file) 
{ 
    this(); 
    parseInputFile(file); //populates database with list of movies 
} 

/** 
* Parses the input file so that you can add all of items found in the list 
in alphabetical order by title. 
*/ 
private void parseInputFile(String file) 
{ 
    //Create a file input stream 
    Movie m; 
    String instr; 

    try 
    { 
     //Create input reader 
     BufferedReader in = new BufferedReader(new FileReader(file)); 
     while (in.ready()) 
     { 
      instr = in.readLine(); 

      //Try to parse the movie using the appropriate movie 
      //constructor. If it fails, an exception is caught 
      try 
      { 
       m = new Movie(instr); 

       //////////////////////////////////////////////////// 
       //Add code to insert m here into your list 
       //////////////////////////////////////////////////// 

      } 
      catch (InvalidMovieException e) 
      { 
       System.out.println("Invalid movie string " + instr + " in 
`enter code here`file " + file); 
      } 

     } 
    } 
    catch (IOException io) 
    { 
     System.err.println("Error in Parsing file."); 
     io.printStackTrace(); 
    } 
    } 
+5

Votre chemin de fichier est probablement incorrect – notyou

+0

Ce que @pruntlar a dit. Votre programme ne regarde certainement pas au bon endroit pour le fichier. – Scrambo

+0

Vous devez savoir ce qu'est un * nom de fichier relatif * et un * répertoire courant *. Ils ne sont pas spécifiques à Java, mais plutôt des concepts informatiques généraux qu'il est nécessaire de connaître avant de pouvoir travailler efficacement avec des fichiers. – VGR

Répondre

-1

Vous devez utiliser le chemin complet de votre ressource pour l'obtenir.

Ex: C: /dur/dir/file.txt

Sinon, chemin relatif peut être utilisé pour les fichiers dans la même hiérarchie du fichier jar exécuté.

+1

Un chemin relatif est relatif au répertoire de travail en cours. Cela n'a rien à voir avec la 'même hiérarchie du fichier jar'. – EJP

+0

Lors de l'exécution de Jar son à partir du chemin Jar, lors de l'exécution à partir d'Eclipse à partir du répertoire de travail, Si using getClass(). GetResource() son du chemin de la classe –