Gå til innhold

Hvorfor får jeg FileNotFoundException?


Anbefalte innlegg

Skrevet

Står fast her...

Samme hvordan jeg prøver å angripe det, får jeg FileNotFoundException. Jeg har sjekket og dobbeltsjekket at fila virkelig er der. For å være helt sikker har jeg brukt en absolutt path (C:/test.txt)

 

private static void processDir(String mappe, String undermappe) { 

File fil = new File("C:/test.txt"); 
BufferedReader in =  new BufferedReader(new FileReader(fil)); 

 

Jeg bruker Eclipse, og den gir meg en rød strek under "new FileReader" med denne feilmeldingen.

 

Er det noe jeg ikke har tenkt på? Store, små bokstaver? Relativ, absolutt path?

Må filen "ligge i" Eclipse for å få tak i den.

Har prøvd nesten alle slags varianter av filer, men alltid samme feilmelding.

Videoannonse
Annonse
Skrevet (endret)

File file = new File("C:\\test.txt"); //Spesifikk fil

File file = new File("test.txt"); //Eclipse root

 

"Den røde streken" din kan være at du ikke fanger FileNotFoundException/IOException

Endret av HV
Skrevet (endret)

Vel, HV har rett... gjorde noe liknende ganske nylig, og tar jeg ikke helt feil så klager Eclipse på at du ikke har brukt en try-catch for å fange opp nettopp FileNotFoundException.

 

Uten å ha prøvd det, tipper jeg at dette vil fungere:

 

try
{
 File fil = new File("test.txt");
 BufferedReader in =  new BufferedReader(new FileReader(fil)); 
 
 // Les fra filen

 in.close();
} catch(FileNotFoundException e)
{ System.out.println("File not found: " + e.getMessage()); }
catch(IOException e)
{ System.out.println("Error reading file: " + e.getMessage()); }

Endret av Ric_H
Skrevet

Det var løsningen. Det med å fange den i en try/catch-blokk. Takk!!

Men hvorfor er det slik?

Jeg leste jo javadocs, og det stod ikke noe eksplisitt om det såvidt jeg kan huske.

Er det alltid slik?

Skrevet

Du kan umulig ha lest javadoc'n veldig nøye:

ileReader

 

public FileReader(File file)

          throws FileNotFoundException

 

    Creates a new FileReader, given the File to read from.

 

    Parameters:

        file - the File to read from

    Throws:

        FileNotFoundException - if the file does not exist, is a directory rather than a regular file, or for some other reason cannot be opened for reading.

http://java.sun.com/j2se/1.5.0/docs/api/ja...FileReader.html

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...