English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In this tutorial, we will learn about Java FileReader and its methods with the help of examples.
The FileReader class in the java.io package can be used to read data from a file (in characters).
It inherits the InputSreamReader class.
Before learning FileReader, make sure you understandJava-Datei.
To create a file reader, we must first import the java.io.FileReader package. After importing the package, here is the method to create a file reader.
1.Using the filename
FileReader input = new FileReader(String name);
Here, we create a file reader that will be linked to the specified filename.
2.Using the file object
FileReader input = new FileReader(File fileObj);
Here, we create a file reader that will be linked to the file specified by the file object.
In the above example, the data in the file is stored using some default character encoding.
However, since Java 11We can also specify the type of character encoding in the file (UTF-8OrUTF-16)
FileReader input = new FileReader(String file, Charset cs);
Here, we use the Charset class to specify the character encoding of the file reader.
The FileReader class provides implementations of different methods that exist in the Reader class.
read() - Read a single character from the reader
read(char[] array) - From the reader, read characters and store them in the specified array
read(char[] array, int start, int length) - Lese von dem Leser so viele Zeichen wie die Länge und speichere sie ab Position start im angegebenen Array ab
Zum Beispiel,angenommen, wir haben eine Datei mit dem Nameninput.txtDatei, die den folgenden Inhalt enthält.
Dies ist ein Textzeile innerhalb der Datei.
Lassen Sie uns versuchen, den FileReader zur Lesung der Datei zu verwenden.
import java.io.FileReader; class Main { public static void main(String[] args) { //Erstellen Sie ein Zeichendarstellungsarray char[] array = new char[100]; try { //Erstellen Sie einen Leser mit FileReader FileReader input = new FileReader("input.txt"); //Lesen von Zeichen input.read(array); System.out.println("Daten in der Datei: "); System.out.println(array); // Schließen Sie den Leser input.close(); } catch(Exception e) { e.getStackTrace(); } } }
Ausgaberesultat
Daten in der Datei: Dies ist ein Textzeile innerhalb der Datei.
In diesem Beispiel haben wir einen Dateileсер mit dem Namen input erstellt. Der Dateileсер ist mit der Datei verbundeninput.txtverknüpft.
FileInputStream input = new FileInputStream("input.txt");
Um Daten aus der Datei zu lesen, haben wir die Methode read() verwendet.
Die Methode getEncoding() kann verwendet werden, um den Codierungstyp zu ermitteln, der für die Speicherung von Daten in der Datei verwendet wird. Zum Beispiel,
import java.io.FileReader; import java.nio.charset.Charset; class Main { public static void main(String[] args) { try { //Erstellen Sie einen FileReader mit der Standardkodierung FileReader input1 = new FileReader("input.txt"); //Erstellen Sie einen FileReader mit angegebener Codierung FileReader input2 = new FileReader("input.txt", Charset.forName("UTF8")); //gibt die Zeichencodierung des Dateilektors zurück System.out.println("input1der Zeichencodierung: " + input1.getEncoding()); System.out.println("input2der Zeichencodierung: " + input2.getEncoding()); //Schließen Sie den Leser input1.close(); input2.close(); } catch(Exception e) { e.getStackTrace(); } } }
Ausgaberesultat
input1Zeichensatzkodierung: Cp1252 input2Zeichensatzkodierung: UTF8
Im obigen Beispiel haben wir2Dateileser, benannt als input1und input2.
input1Es wurde keine Zeichensatzkodierung spezifiziert. Daher gibt die getEncoding() Methode die Standardzeichensatzkodierung zurück.
input2Spezifizieren Sie den ZeichensatzkodierungUTF8. Daher gibt die getEncoding() Methode die spezifizierte Zeichensatzkodierung zurück.
Hinweis: Wir haben den Typ der Zeichensatzkodierung mit dem Charset.forName() Methode spezifiziert.
Um den Dateileser zu schließen, können wir die close() Methode verwenden. Nach dem Aufruf der close() Methode können wir den Leser nicht mehr zum Lesen von Daten verwenden.
Methode | Beschreibung |
---|---|
ready() | Überprüfen Sie, ob der Dateileser bereit ist, gelesen zu werden |
mark() | Markieren Sie den Position des gelesenen Daten im Dateileser |
reset() | Setzen Sie den Leser zurück und kehren Sie zum markierten Position im Leser zurück |