Es ist eine API zum Lesen einer Textdatei und wird verwendet, um die Verarbeitung basierend auf dem Inhalt der Textdatei durchzuführen. Die Zeichen in der Datei werden in einem Zeichenstrom gelesen, der Daten zeichenweise lesen und schreiben kann. Die FileReader-Klasse verfügt nur über eine Lesemethode, mit der Zeichen einzeln gelesen werden. Wenn Sie also Daten in einem Bytestrom lesen möchten, der in Byteeinheiten gelesen und geschrieben werden kann, verwenden Sie die FileInputStream-Klasse.
Lesen Sie Zeichen für Zeichen mit der Lesemethode
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
try {
//Geben Sie den Dateipfad als Argument des Dateiklassenkonstruktors an
File file = new File("text.txt");
//Ausnahmebehandlung, wenn die Datei nicht vorhanden ist
//Die exist-Methode gibt true zurück, wenn die Datei vorhanden ist, false, wenn sie nicht vorhanden ist
if (!file.exists()) {
System.out.print("Die Datei existiert nicht");
return;
}
//Verwenden Sie die FileReader-Klasse und die Lesemethode, um Zeichen einzeln zu lesen und anzuzeigen
FileReader fileReader = new FileReader(file);
int data;
//Wiederholen Sie diesen Vorgang bis zum Ende der Datei
while ((data = fileReader.read()) != -1) {
//Wandeln Sie das gelesene Zeichen in einen Zeichentyp um und zeigen Sie das Zeichen an
System.out.print((char) data);
}
//Schließen Sie schließlich die Datei, um Ressourcen freizugeben
fileReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Wie die FileReader-Klasse ist es eine Klasse, die Textdateien liest, und die bereitgestellten Methoden unterscheiden sich von der FileReader-Klasse. Die BufferReader-Klasse bietet eine Readline-Methode, die zeilenweise liest. Die FileReader-Klasse liest die Zeichen nacheinander. Wenn jedoch die Anzahl der Zeichen groß ist, kann sich die Effizienz verschlechtern. Entscheiden Sie sich daher für eine bestimmte Speichermenge und geben Sie beim Sammeln einen Lesebefehl an das Betriebssystem aus. Dies wird als Pufferung bezeichnet.
Lesen Sie Zeile für Zeile mit der Readline-Methode
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
try {
//Geben Sie den Dateipfad als Argument des Dateiklassenkonstruktors an
File file = new File("c:SampleTest.txt");
//Ausnahmebehandlung, wenn die Datei nicht vorhanden ist
//Die exist-Methode gibt true zurück, wenn die Datei vorhanden ist, false, wenn sie nicht vorhanden ist
if (!file.exists()) {
System.out.print("Die Datei existiert nicht");
return;
}
//Lesen und Anzeigen zeilenweise mit der readLine-Methode der BufferedReader-Klasse
FileReader fileReader = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(fileReader);
String data;
//Wiederholen Sie diesen Vorgang bis zum Ende der Datei
while ((data = bufferedReader.readLine()) != null) {
System.out.println(data);
}
//Schließen Sie schließlich die Datei, um Ressourcen freizugeben
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Class BufferedReader Class FileReader [Java] Textdateien mit FileReader und BufferedReader lesen
Recommended Posts