Java Reader Klasse meistern: Unterklassen, Methoden und praktisches Beispiel
Java Reader Klasse
Dieser Leitfaden führt Sie durch Javas Reader Klasse, ihre wichtigsten Unterklassen, wesentliche Methoden und ein Schritt-für-Schritt-Beispiel mit FileReader.
Was ist die Reader Klasse?
Die Reader Klasse im java.io Paket ist eine abstrakte Superklasse, die einen Character-Input-Stream repräsentiert. Obwohl sie nicht direkt instanziiert werden kann, stellen ihre konkreten Unterklassen die Funktionalität bereit, um Textdaten aus verschiedenen Quellen zu lesen.
Gängige Unterklassen von Reader
- BufferedReader – Fügt Puffern für effizientes Lesen von Characters, Arrays und Zeilen hinzu.
- InputStreamReader – Überbrückt Byte-Streams zu Character-Streams mit einem angegebenen Charset.
- FileReader – Praktische Klasse zum Lesen von Dateien in der Standardkodierung.
- StringReader – Liest Characters aus einem String als Stream.
Wir werden jede Unterklasse in einem eigenen Tutorial tiefergehend behandeln.
Reader instanziieren
Um einen konkreten Reader zu erstellen, importieren Sie java.io.Reader und eine seiner Unterklassen. Zum Beispiel mit FileReader:
import java.io.Reader;
import java.io.FileReader;
Reader input = new FileReader("input.txt");
Da Reader abstrakt ist, müssen Sie eine Unterklasse verwenden; andernfalls tritt ein Compile-Time-Fehler auf.
Tipp: Sie können jede der anderen Unterklassen auf die gleiche Weise instanziieren.
Wichtige Methoden von Reader
boolean ready()– Gibttruezurück, wenn der Stream gelesen werden kann, ohne zu blockieren.int read(char[] cbuf)– Liest Characters in ein Array und gibt die Anzahl der gelesenen zurück.int read(char[] cbuf, int off, int len)– Liest bis zulenCharacters incbufaboff.void mark(int readAheadLimit)– Markiert die aktuelle Position im Stream.void reset()– Positioniert den Stream auf die letzte markierte Position.long skip(long n)– Überspringt und verwirftnCharacters.
Beispiel: Datei mit FileReader lesen
Angenommen, wir haben eine Datei namens input.txt mit folgendem Inhalt:
This is a line of text inside the file.
Unten ist ein vollständiges, produktionsreifes Beispiel, das die Datei liest und ihren Inhalt ausgibt:
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
public class Main {
public static void main(String[] args) {
// Puffer allokieren, groß genug für erwarteten Inhalt
char[] buffer = new char[100];
// try-with-resources stellt sicher, dass der Reader automatisch geschlossen wird
try (Reader reader = new FileReader("input.txt")) {
System.out.println("Gibt es Daten im Stream? " + reader.ready());
int charsRead = reader.read(buffer);
System.out.println("Daten im Stream:\n" + new String(buffer, 0, charsRead));
} catch (IOException e) {
e.printStackTrace();
}
}
}
Ausgabe
Gibt es Daten im Stream? true Daten im Stream: This is a line of text inside the file.
Wichtige Erkenntnisse:
- Schließen Sie den Reader immer –
try-with-resourceshandhabt dies automatisch. - Verwenden Sie
ready(), um zu prüfen, dass Daten verfügbar sind, bevor Sie lesen. - Behandeln Sie
IOException, um Datei-nicht-gefunden oder Lesefehler abzudecken.
Für detailliertere Dokumentation besuchen Sie die offizielle Java Reader Javadoc.
Viel Spaß beim Programmieren!
Java
- Javas final-Schlüsselwort verstehen: Variablen, Methoden und Klassen
- Java instanceof-Operator: Ein umfassender Leitfaden
- Java-Vererbung meistern: Konzepte, Typen und praktische Beispiele
- Java statische verschachtelte Klassen verstehen: Nutzung, Unterschiede und Beispiele
- Java anonyme innere Klassen meistern: Definition, Syntax und praktische Beispiele
- Java Singleton-Pattern erklärt: Sichere Implementierung und Verwendung
- Java Reflection meistern: Klassen, Methoden und Felder zur Laufzeit inspizieren
- Java ObjectOutputStream meistern: Serialisierung, Methoden und praktische Beispiele
- Java Generics meistern – Wiederverwendbaren, typsicheren Code erstellen
- Java-Dateioperationen mit java.io meistern – Erstellen, Lesen, Schreiben & Löschen