Die Java-Klassen FileWriter und FileReader werden zum Schreiben und Lesen von Daten aus Textdateien verwendet (sie sind es). Charakter-Stream Klassen). Es wird empfohlen nicht um die Klassen FileInputStream und FileOutputStream zu verwenden, wenn Sie Textinformationen lesen und schreiben müssen, da es sich dabei um Byte-Stream-Klassen handelt.
FileWriter
FileWriter ist nützlich, um eine Datei zu erstellen, in die Zeichen geschrieben werden.
- Diese Klasse erbt von der OutputStream-Klasse.
- Die Konstruktoren dieser Klasse gehen davon aus, dass die Standardzeichenkodierung und die Standardbytepuffergröße akzeptabel sind. Um diese Werte selbst anzugeben, erstellen Sie einen OutputStreamWriter für einen FileOutputStream.
- FileWriter ist zum Schreiben von Zeichenströmen gedacht. Zum Schreiben von Streams mit Rohbytes sollten Sie die Verwendung eines FileOutputStream in Betracht ziehen.
- FileWriter erstellt die Ausgabedatei, falls sie noch nicht vorhanden ist.
Konstrukteure:
- Diese Klasse wurde von der InputStreamReader-Klasse geerbt.
- Die Konstruktoren dieser Klasse gehen davon aus, dass die Standardzeichenkodierung und die Standardbytepuffergröße angemessen sind. Um diese Werte selbst anzugeben, erstellen Sie einen InputStreamReader für einen FileInputStream.
- FileReader ist zum Lesen von Zeichenströmen gedacht. Zum Lesen von Rohbyte-Streams sollten Sie die Verwendung eines FileInputStream in Betracht ziehen.
Methoden:
Das Lesen und Schreiben erfolgt Zeichen für Zeichen, was die Anzahl der I/O-Vorgänge erhöht und sich auf die Leistung des Systems auswirkt. BufferedWriter kann zusammen mit FileWriter verwendet werden, um die Ausführungsgeschwindigkeit zu verbessern.
Das folgende Programm zeigt, wie Sie mit FileWriter eine Textdatei erstellen
// Creating a text File using FileWriter import java.io.FileWriter; import java.io.IOException; class CreateFile { public static void main(String[] args) throws IOException { // Accept a string String str = 'File Handling in Java using '+ ' FileWriter and FileReader'; // attach a file to FileWriter FileWriter fw=new FileWriter('output.txt'); // read character wise from string and write // into FileWriter for (int i = 0; i < str.length(); i++) fw.write(str.charAt(i)); System.out.println('Writing successful'); //close the file fw.close(); } }
FileReader
FileReader ist nützlich, um Daten in Form von Zeichen aus einer „Text“-Datei zu lesen.
Konstrukteure:
Methoden:
Parameter:
cbuf – Zielpuffer
off – Offset, ab dem mit dem Speichern von Zeichen begonnen werden soll
len – Maximale Anzahl der zu lesenden Zeichen
Parameter:
n – Die Anzahl der zu überspringenden Zeichen
Das folgende Programm zeigt, wie man mit FileReader aus der „Text“-Datei liest
// Reading data from a file using FileReader import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; class ReadFile { public static void main(String[] args) throws IOException { // variable declaration int ch; // check if File exists or not FileReader fr=null; try { fr = new FileReader('text'); } catch (FileNotFoundException fe) { System.out.println('File not found'); } // read from FileReader till the end of file while ((ch=fr.read())!=-1) System.out.print((char)ch); // close the file fr.close(); } }
Quiz erstellen