Java FileReader-Klasse
Java FileReader-Klasse
In diesem Tutorial lernen wir den Java FileReader und seine Methoden anhand von Beispielen kennen.
Der FileReader
Klasse der java.io
Paket kann verwendet werden, um Daten (in Zeichen) aus Dateien zu lesen.
Es erweitert die InputSreamReader
Klasse.
Bevor Sie etwas über FileReader
erfahren , stellen Sie sicher, dass Sie über die Java-Datei Bescheid wissen.
Erstelle einen FileReader
Um einen Dateireader zu erstellen, müssen wir den java.io.FileReader
importieren Paket zuerst. 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. Verwendung eines Objekts der Datei
FileReader input = new FileReader(File fileObj);
Hier haben wir einen Dateireader erstellt, der mit der Datei verknüpft wird, die durch das Objekt der Datei angegeben wird.
Im obigen Beispiel werden die Daten in der Datei mit einer Standardzeichencodierung gespeichert.
Seit Java 11 können wir jedoch die Art der Zeichenkodierung (UTF-8 oder UTF-16 ) auch in der Datei.
FileReader input = new FileReader(String file, Charset cs);
Hier haben wir den Charset
verwendet Klasse, um die Zeichencodierung des Dateireaders anzugeben.
Methoden von FileReader
Die FileReader
-Klasse bietet Implementierungen für verschiedene Methoden, die in Reader
vorhanden sind Klasse.
read()-Methode
read()
- liest ein einzelnes Zeichen vom Lesegerätread(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 gleich length vom Lesegerät und speichert in dem angegebenen Array ab der Position start
Angenommen, wir haben eine Datei mit dem Namen input.txt mit folgendem Inhalt.
This is a line of text inside the file.
Versuchen wir, die Datei mit FileReader
zu lesen .
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
Data in the file: This is a line of text inside the file.
Im obigen Beispiel haben wir einen Dateileser namens input erstellt . Der Dateireader ist mit der Datei input.txt verknüpft .
FileInputStream input = new FileInputStream("input.txt");
Um Daten aus der Datei auszulesen, haben wir den read()
verwendet Methode.
Hinweis :Die Datei input.txt sollte im aktuellen Arbeitsverzeichnis vorhanden sein.
getEncoding()-Methode
Die getEncoding()
-Methode kann verwendet werden, um den Codierungstyp abzurufen, der zum Speichern 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 {
// 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
The character encoding of input1: Cp1252 The character encoding of input2: UTF8
Im obigen Beispiel haben wir 2 Dateireader mit dem Namen input1 erstellt und eingang2 .
- Eingabe1 gibt die Zeichenkodierung nicht an. Daher der
getEncoding()
-Methode gibt die Standardzeichenkodierung zurück. - Eingabe2 gibt die Zeichenkodierung UTF8 an . Daher der
getEncoding()
Methode gibt die angegebene Zeichenkodierung zurück.
Hinweis :Wir haben den Charset.forName()
verwendet Methode, um die Art der Zeichencodierung anzugeben. Um mehr zu erfahren, besuchen Sie Java Charset (offizielle Java-Dokumentation).
close()-Methode
Um den Dateireader zu schließen, können wir den close()
verwenden Methode. Einmal die close()
-Methode aufgerufen wird, können wir den Reader nicht zum Lesen der Daten verwenden.
Andere Methoden von FileReader
Methode | Beschreibung |
---|---|
ready() | überprüft, ob der Dateireader zum Lesen bereit ist |
mark() | Position im Filereader markieren, bis zu der Daten gelesen wurden |
reset() | gibt das Steuerelement an die Stelle im Reader zurück, an der die Markierung gesetzt wurde |
Um mehr zu erfahren, besuchen Sie Java FileReader (offizielle Java-Dokumentation).
Java