# Mit Scanner ein File einlesen



## Guest (20. Dez 2008)

Hallo Forum,

Ich würde gerne mit der Scanner-Klasse ein File (test.txt) einlesen, welches wie folgt aussieht:



> 19
> 17
> 23



hier die Fehlerausgabe:


> Exception in thread "main" in java.util.InputMismatchException:
> at java.util.Scanner.throwFor(Scanner.java)
> at java.util.Scanner.next(Scanner.java)
> at java.util.Scanner.nextInt(Scanner.java)
> ...



hier meine beiden read-Methoden:

```
public void read(Scanner in) throws IOException
  {
    while (in.hasNext())
    {
      list.add(in.nextInt());
    }

    
    
  }
  
  public void readFile(String filename) throws IOException
  {
    FileReader reader = new FileReader(filename);
    try
    {
      Scanner in = new Scanner(reader);
      read(in);
    }
    finally
    {
      reader.close();
    }
  }
```

Sieht jemand den Fehler?


----------



## L-ectron-X (20. Dez 2008)

nextInt() - Throws: InputMismatchException - if the next token does not match the Integer regular expression, or is out of range

Also ist scheinbar an der Position, die du gerade lesen möchtest kein Integer zu finden.


----------



## kulturfenster (21. Dez 2008)

aber mein File besteht ja nur aus 3 Integern. Also genau genommen aus 3 Ints und 2 Newline's, aber die werde mit nextInt() emel nicht ausgelesen, oder?


----------



## myAces (21. Dez 2008)

Das hier sollte dir helfen:

http://java.sun.com/javase/6/docs/api/java/util/Scanner.html#hasNextInt()


----------

