25.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 Einen ersten Aufschluss darüber, wer wen kapselt gibt uns der verwendete Konstruktor der Klasse BufferedReader
 

 


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

Ein FileReader-Objekt kann also direkt dem BufferedReader-Konstruktor übergeben werden.  Das Klassenobjekt System.in ist vom Typ InputStream, diese Klasse erbt nicht von Reader, kann also nicht direkt dem Konstruktor von BufferedReader übergeben werden. Wir kapseln das InputStream-Objekt in einem Objekt der Klasse InputStreamReader.
 

zu 25.8 Übungen
zur Startseite www.pohlig.de  (C) MPohlig 2005