In diesem Tutorial lernen wir anhand eines Beispiels Java Reader, seine Unterklassen und seine Methoden kennen.
Die Reader
Klasse des java.io
Pakets ist eine abstrakte Oberklasse, die einen Strom von Zeichen darstellt.
Da Reader
es sich um eine abstrakte Klasse handelt, ist sie für sich genommen nicht nützlich. Seine Unterklassen können jedoch zum Lesen von Daten verwendet werden.
Unterklassen des Lesers
Um die Funktionalität von zu nutzen Reader
, können wir seine Unterklassen verwenden. Einige von ihnen sind:
- BufferedReader
- InputStreamReader
- FileReader
- StringReader
Wir werden im nächsten Tutorial mehr über all diese Unterklassen erfahren.
Erstellen Sie einen Reader
Um ein zu erstellen Reader
, müssen wir java.io.Reader
zuerst das Paket importieren . Sobald wir das Paket importiert haben, können wir den Reader wie folgt erstellen.
// Creates a Reader Reader input = new FileReader();
Hier haben wir mit der FileReader
Klasse einen Reader erstellt . Es ist, weil Reader
es eine abstrakte Klasse ist. Daher können wir kein Objekt von erstellen Reader
.
Hinweis : Wir können auch Leser aus anderen Unterklassen von erstellen Reader
.
Methoden des Lesers
Die Reader
Klasse bietet verschiedene Methoden, die von ihren Unterklassen implementiert werden. Hier sind einige der am häufigsten verwendeten Methoden:
ready()
- prüft, ob der Leser zum Lesen bereit istread(char() array)
- liest die Zeichen aus dem Stream und speichert sie im angegebenen Arrayread(char() array, int start, int length)
- liest die Anzahl der Zeichen, die der Länge entsprechen, aus dem Stream und speichert sie von Anfang an im angegebenen Arraymark()
- markiert die Position im Stream, bis zu der Daten gelesen wurdenreset()
- bringt das Steuerelement an den Punkt im Stream zurück, an dem die Markierung gesetzt istskip()
- verwirft die angegebene Anzahl von Zeichen aus dem Stream
Beispiel: Reader mit FileReader
So können wir Reader
mithilfe der FileReader
Klasse implementieren .
Angenommen, wir haben eine Datei mit dem Namen input.txt mit dem folgenden Inhalt.
This is a line of text inside the file.
Versuchen wir, diese Datei mit FileReader
(einer Unterklasse von Reader
) zu lesen .
import java.io.Reader; import java.io.FileReader; class Main ( public static void main(String() args) ( // Creates an array of character char() array = new char(100); try ( // Creates a reader using the FileReader Reader input = new FileReader("input.txt"); // Checks if reader is ready System.out.println("Is there data in the stream? " + input.ready()); // Reads characters input.read(array); System.out.println("Data in the stream:"); System.out.println(array); // Closes the reader input.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
Ausgabe
Gibt es Daten im Stream? true Daten im Stream: Dies ist eine Textzeile in der Datei.
Im obigen Beispiel haben wir mit der FileReader
Klasse einen Reader erstellt . Der Reader ist mit der Datei input.txt verknüpft .
Reader input = new FileReader("input.txt");
Um Daten aus der Datei input.txt zu lesen , haben wir diese Methoden implementiert.
input.read(); // to read data from the reader input.close(); // to close the reader
Weitere Informationen finden Sie im Java Reader (offizielle Java-Dokumentation).