# Mit Scanner Datei lesen, er findet sie aber nicht?!



## Julian Maicher (27. November 2006)

Hey!!

Dummes Problem, aber ich finde die Lösung des Problems nicht ... :-/

Folgender simpler Code:

```
Scanner datei = new Scanner(new File("test.txt"));
```

Wo such Java jetzt die Datei?
Man sollte meinen im selbigen Verzeichnis, wo die Klasse liegt.
Ich bekomme aber immer einen Fehler ausgeworfen, dass die Datei nicht gefunden wurde, obwohl sie existiert.

Woran kann das liegen?


Gruß,

Julian


----------



## Thomas Darimont (27. November 2006)

Hallo!



> Man sollte meinen im selbigen Verzeichnis, wo die Klasse liegt.


Falsch. Relative Pfade werden in java in der Regel Abhängig von dem Verzeichnis aus gesehen aus dem der Java Launcher gestartet worden ist.

Gruß Tom


----------



## Julian Maicher (27. November 2006)

Mh, glaube ich habe die Lösung gefunden.
Die Exception will einfach nur abgefangen werden, deswegen wird sie immer ausgeworfen.
Setze ich die obige Anweisung in einen Try-Catch Block wird die Datei auch gefunden.
Die Logik dahinter verstehe ich aber noch nicht so ganz .. ?!


----------



## zeja (27. November 2006)

Den try-catch block brauchst du zwangsweise weil die Exception geworfen werden könnte. Und FileNotFoundExceptions sind keine RuntimeExceptions und müssen daher gefangen werden. Was sollste sonst das Programm machen mit der Exception? Allerdings hättest du in dem Fall das Programm gar nicht kompilieren können dürfen.


----------

