In diesem Tutorial lernen wir anhand von Beispielen Java FileReader und seine Methoden kennen.
Die FileReader
Klasse des java.io
Pakets kann zum Lesen von Daten (in Zeichen) aus Dateien verwendet werden.
Es erweitert die InputSreamReader
Klasse.
Stellen Sie FileReader
sicher, dass Sie sich mit der Java-Datei vertraut machen, bevor Sie etwas darüber erfahren .
Erstellen Sie einen FileReader
Um einen Dateireader zu erstellen, müssen wir java.io.FileReader
zuerst das Paket importieren . Sobald wir das Paket importiert haben, können wir den Dateireader wie folgt erstellen.
1. Verwenden Sie den Namen der Datei
FileReader input = new FileReader(String name);
Hier haben wir einen Dateireader erstellt, der mit der durch den Namen angegebenen Datei verknüpft wird.
2. Verwenden eines Objekts der Datei
FileReader input = new FileReader(File fileObj);
Hier haben wir einen Dateireader erstellt, der mit der durch das Objekt der Datei angegebenen Datei verknüpft wird.
Im obigen Beispiel werden die Daten in der Datei unter Verwendung einer Standardzeichencodierung gespeichert.
Seit Java 11 können wir jedoch auch die Art der Zeichenkodierung ( UTF-8 oder UTF-16 ) in der Datei angeben .
FileReader input = new FileReader(String file, Charset cs);
Hier haben wir die Charset
Klasse verwendet, um die Zeichenkodierung des Dateireaders anzugeben.
Methoden von FileReader
Die FileReader
Klasse bietet Implementierungen für verschiedene in der Reader
Klasse vorhandene Methoden .
read () Methode
read()
- liest ein einzelnes Zeichen vom Leserread(char() array)
- liest die Zeichen aus dem Reader und speichert sie im angegebenen Arrayread(char() array, int start, int length)
- liest die Anzahl der Zeichen, die der Länge entsprechen, vom Lesegerät und speichert sie ab dem Positionsstart im angegebenen Array
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, die Datei mit zu lesen FileReader
.
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 FileReader input = new FileReader("input.txt"); // Reads characters input.read(array); System.out.println("Data in the file: "); System.out.println(array); // Closes the reader input.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
Ausgabe
Daten in der Datei: Dies ist eine Textzeile in der Datei.
Im obigen Beispiel haben wir einen Dateireader mit dem Namen input erstellt. Der Dateireader ist mit der Datei input.txt verknüpft .
FileInputStream input = new FileInputStream("input.txt");
Um Daten aus der Datei zu lesen, haben wir die read()
Methode verwendet.
getEncoding () -Methode
Die getEncoding()
Methode kann verwendet werden, um den Codierungstyp abzurufen, der zum Speichern von Daten in der Datei verwendet wird. Beispielsweise,
import java.io.FileReader; import java.nio.charset.Charset; class Main ( public static void main(String() args) ( try ( // Creates a FileReader with default encoding FileReader input1 = new FileReader("input.txt"); // Creates a FileReader specifying the encoding FileReader input2 = new FileReader("input.txt", Charset.forName("UTF8")); // Returns the character encoding of the file reader System.out.println("Character encoding of input1: " + input1.getEncoding()); System.out.println("Character encoding of input2: " + input2.getEncoding()); // Closes the reader input1.close(); input2.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
Ausgabe
Die Zeichenkodierung von Eingabe1: Cp1252 Die Zeichenkodierung von Eingabe2: UTF8
Im obigen Beispiel haben wir zwei Dateireader mit den Namen input1 und input2 erstellt.
- input1 gibt die Zeichenkodierung nicht an. Daher gibt die
getEncoding()
Methode die Standardzeichenkodierung zurück. - input2 gibt die Zeichenkodierung UTF8 an . Daher gibt die
getEncoding()
Methode die angegebene Zeichenkodierung zurück.
Hinweis : Wir haben die Charset.forName()
Methode verwendet, um den Typ der Zeichenkodierung anzugeben. Weitere Informationen finden Sie unter Java Charset (offizielle Java-Dokumentation).
close () Methode
Um den Dateireader zu schließen, können wir die close()
Methode verwenden. Sobald die close()
Methode aufgerufen wurde, können wir den Leser nicht mehr zum Lesen der Daten verwenden.
Andere Methoden von FileReader
Methode | Beschreibung |
---|---|
ready() | prüft, ob der Dateireader zum Lesen bereit ist |
mark() | Markieren Sie die Position im Dateireader, bis zu der Daten gelesen wurden |
reset() | Bringt das Steuerelement an den Punkt im Lesegerät zurück, an dem die Markierung gesetzt wurde |
Weitere Informationen finden Sie unter Java FileReader (offizielle Java-Dokumentation).