22.7 Die Klasse BufferedReader
 
Komfortableres Lesen Mit einem BufferedReader-Objekt ist das Lesen aus einer Eingabe-Pipeline sehr einfach und komfortable. Die Methode readLine() aus dieser Klasse liest aus der Pipeline den ganzen Inhalt und übergibt ihn Java als eine Zeichenkette.
 
Download:
Einlesen.java
import java.io.*;
public class Einlesen {

  public static void main (String[] args) throws IOException {
    String dateiName = "Test.txt";
    FileReader dateiLeser = new FileReader(dateiName);
    BufferedReader eingabe1 = new BufferedReader(dateiLeser);
    String text1 = eingabe1.readLine();
    System.out.println(text1);
    
    InputStreamReader vonTastatur = 
           new InputStreamReader(System.in);
    BufferedReader eingabe2 = new BufferedReader(vonTastatur);
    String text2 = eingabe2.readLine();
    System.out.println(text2);
  }
}
  Das Programm gibt den Text aus der Datei 'Test.txt' aus, wartet auf eine Eingabe, die wenn sie abgeschlossen ist, ebenfalls auf dem Bildschirm ausgegeben wird.
   
Erklärungen

Beim Erzeugen eines BufferedReader-Objektes muss dem Konstruktor ein Reader-Objekt übergeben werden. Nun erbt  die Klasse FileReader über InputStreamReader von Reader,

ein FileReader-Objekt kann also direkt dem BufferedReader-Konstruktor übergeben werden.  Das Klassenobjekt System.out ist vom Typ InputStream, diese Klasse erbt nicht von Reader, kann also nicht direkt dem Konstruktor von BufferedReader übergeben werden. Man benutz dazu ein Objekt der Klasse InputStreamReader. Sein Konstruktor erwartet nämlich ein InputStream-Objekt wie z.B.  System.out.

   
   
   
zu  
zur Startseite www.pohlig.de  (C) MPohlig 2003