Compiler-Fehler NullPointException

anno21100

Mitglied
Hallo zusammen,
Ich programmiere zur Zeit das Programm Ennea in der Schule. Ich habe nun einen NullPointException und verstehe nicht warum.
Der Teil unten mit der Abfrage muss nicht beachtet werden
 

Anhänge

  • entleeren.txt
    2,2 KB · Aufrufe: 7

JStein52

Top Contributor
kommt durch dein zeile = br.readLine();

Wenn du da mal null zurückkriegst gehst du ja trotzdem durch deine Schleife durch und versuchst darauf Operationen auszuführen.
 

JStein52

Top Contributor
Du solltest deine Schleife besser so aufbauen:
Code:
while ((zeile = br.readLine()) != null) {
...
}
 

anno21100

Mitglied
Code:
import java.io.*;
import java.util.Formatter;
public class entleeren {
 
  public static void main(String[] args) throws Exception {
    FileReader fr = new FileReader("wieder.txt");
    BufferedReader br = new BufferedReader(fr);
    String zeile="";
    File f = new File ("D:/Users/Alessandro/Desktop/Java/datei.txt");
      try {
        Formatter format = new Formatter("D:/Users/Alessandro/Desktop/Java/datei.txt");
      }  catch (FileNotFoundException e) {
        e.printStackTrace();
      }
    FileReader fr2= new FileReader("datei.txt");
    BufferedReader br2 = new BufferedReader(fr2);
    FileWriter fw3 = new FileWriter("datei.txt");
    BufferedWriter bw3 = new BufferedWriter(fw3);
    int nochmal=0;
    while ((zeile = br.readLine()) != null) {
      zeile = br.readLine();
      zeile=zeile.toLowerCase();
      zeile=zeile.replaceAll("ä","ae"); 
      zeile=zeile.replaceAll("ö","oe");
      zeile=zeile.replaceAll("ü","ue");
      zeile=zeile.replaceAll("ß","ss");
    
      if (zeile.length()>9 || zeile.length()<=4) {
        continue;
      }
      bw3.write(zeile);
      bw3.write("\r\n");
      if (zeile==null) {
        bw3.close();
      } // end of if
       }
Habe das unten weggelassen der Fehler wird ausgespuckt wenn er mit dem 2. Durchlauf anfängt.
 

JStein52

Top Contributor
Du musst dann natürlich das zeile=br.readLine() innerhalb der Schleife entfernen !

Edit: das ist dann ja im Schleifenkopf enthalten
 

Oben