Illustration einer tropischen Insel mit Palmen und einem hohen Berg

Java Blog für Programmierer

BufferedReader#lines, Files.newBufferedReader()

· Christian Ullenboom

Der BufferedReader bietet neben den einfachen geerbten Lese-Methoden der Oberklasse Reader zwei weitere praktische Methoden:

  • String readLine(): liest eine Zeile, und liefert am Ende null, wenn die letzte Zeile erreicht wurde.

  • Stream<String> lines(): Liefert einen Stream von Strings. Neu in Java 8.

So ist einfach ein Programm formuliert, welches alle Zeilen einer Datei abläuft:

try ( BufferedReader in = Files.newBufferedReader( Paths.get( "lyrics.txt" ), StandardCharsets.ISO_8859_1 ) ) {

 for ( String line; (line = in.readLine()) != null; )

 System.out.println( line );

 }

 catch ( IOException e ) {

 e.printStackTrace();

 }

Beispiel

Mit der Stream-API sieht es ähnlich aus; kurz skizziert:

try ( BufferedReader in = Files.newBufferedReader( ... ) ) {

 in.lines().forEach( System.out::println );

}

Falls es beim Lesen über den Stream zu einem Fehler kommt, wird eine RuntimeException vom Typen UncheckedIOException ausgelöst.

Kategorien: Insel, Java 8

← Alle Beiträge