Datei zeilenweise lesen

Java7

Um in Java eine Datei zeilenweise auszulesen bedarf es nicht viele Zeilen Code. Es gibt die Möglichkeit über den klassischen BufferedReader oder alternativ die Benutzung von java.util.Scanner. Beide Variaten sind schnell implementiert und erfüllen ihren Zweck. Der Scanner bietet jedoch noch einige weitere hilfreiche Methoden zur Verarbeitung einzelner Zeilen.

BufferedReader

Der klassische Weg geht wahrscheinlich immer noch über den BufferedReader. Die Zeile wird bis zum Zeilenende gelesen. Das Zeilenende wird interpretiert durch ein Carriage Return (‚\r‘), ein Line Feed (‚\n‘), oder auch ein CR gefolgt von einem LF.

    try {
      File file = new File("myFile.txt");
      BufferedReader in  = new BufferedReader(new FileReader(file));

      String line = null;
      while ((line = in.readLine()) != null) {
        System.out.println(line);
      }
    } catch (FileNotFoundException e) {
      e.printStackTrace();  
    } catch (IOException e) {
      e.printStackTrace();
    }

Scanner

Der java.util.Scanner bietet zusätzlich noch jede Menge weitere Methoden wie findInLine(), nextInt(), nextBoolean() oder nextByte().

    try {
      File file = new File("myFile.txt");
      Scanner scanner = new Scanner(file);
      
      while (scanner.hasNextLine()){
        System.out.println(scanner.nextLine());
      }
    } catch (FileNotFoundException e) {
      e.printStackTrace(); 
    }