# NullPointerException BufferedReader.readLine()



## julchen81 (7. Mrz 2008)

Guten Morgen!

Eigentlich schon 100mal gemacht, es geht ganz einfach, und trotzdem will folgendes im Moment nicht:

```
public void openFile() throws IOException {
    String datei = "S:/kor.dat";
    br = new BufferedReader(new FileReader(datei));
    readLine();
}
	
		
public void readLine() throws IOException {
    String line;
    StringTokenizer str;
    line = br.readLine();
		
    while (line != null) {
        line = br.readLine();
        System.out.println(line);
        if (line.length()>1) {
            System.out.println(line);
        }
    }
}
```


Wenn ich die if-Schleife auskommentiere, dann geht's, mir wird jede Zeile aus der Datei gelesen und ausgegeben.
Versuche ich jedoch in irgendeiner Weise, auf die einzelnen Zeilen zuzugreifen (hier eben beispielsweise in der if-Schleife mit line.length() ), dass wirft's mir mittendrin eine java.lang.NullPointerException.
Wenn ich in irgendeiner anderen Art und Weise auf line zugfreife (z.B. line.indexOf("beispiel")) wird mir auch eine NullPointerException geworfen, aber je nach dem übergebenen String an einer unterschiedlichen Stellen. Kann keinen Zusammenhang erkennen.

Hat jemand einen Tipp? 

LG Julia  :wink:


----------



## The_S (7. Mrz 2008)

Du weißt, dass du die 1. Zeile ignorierst? Setz dein 


```
line = br.readLine();
```

als letzten Aufruf in deine Schleife. Dann kommt auch keine NullPointer mehr. Oder mach gleich so eine Schleife


```
while ((line = br.readLine()) != null) {
```

www.if-schleife.de


----------



## xerberuz (7. Mrz 2008)

Dein Code verarbeitet immer 1 Zeile mehr als eigentlich da ist. So müsste es gehen:


```
while ((line =  br.readLine()) != null) {
        if (line.length()>1) {
            System.out.println(line);
        }
    }
```


----------



## julchen81 (7. Mrz 2008)

es funktioniert jetzt!   

Dankeschön und erholsames Wochenende! 
Julia


----------



## chilla (7. Mrz 2008)

julchen81 hat gesagt.:
			
		

> ```
> public void openFile() throws IOException {
> String datei = "S:/kor.dat";
> br = new BufferedReader(new FileReader(datei));
> ...


----------

