Třídy Java FileWriter a FileReader se používají k zápisu a čtení dat z textových souborů (jsou Proud postav třídy). Doporučuje se ne k použití tříd FileInputStream a FileOutputStream, pokud musíte číst a zapisovat jakékoli textové informace, protože se jedná o třídy proudu Byte.
FileWriter
FileWriter je užitečný k vytvoření souboru, který do něj zapisuje znaky.
- Tato třída dědí z třídy OutputStream.
- Konstruktoři této třídy předpokládají, že výchozí kódování znaků a výchozí velikost bajtové vyrovnávací paměti jsou přijatelné. Chcete-li tyto hodnoty zadat sami, vytvořte OutputStreamWriter na FileOutputStream.
- FileWriter je určen pro psaní proudů znaků. Pro zápis proudů nezpracovaných bajtů zvažte použití FileOutputStream.
- FileWriter vytvoří výstupní soubor, pokud ještě není přítomen.
Konstruktéři:
- Tato třída je zděděna od třídy InputStreamReader.
- Konstruktoři této třídy předpokládají, že výchozí kódování znaků a výchozí velikost bajtové vyrovnávací paměti jsou vhodné. Chcete-li tyto hodnoty zadat sami, vytvořte InputStreamReader na FileInputStream.
- FileReader je určen pro čtení proudů znaků. Pro čtení proudů nezpracovaných bajtů zvažte použití FileInputStream.
Metody:
Čtení a zápis probíhá znak po znaku, což zvyšuje počet I/O operací a ovlivňuje výkon systému. BufferedWriter lze použít spolu s FileWriter ke zvýšení rychlosti provádění.
Následující program popisuje, jak vytvořit textový soubor pomocí FileWriter
// 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 je užitečný pro čtení dat ve formě znaků z „textového“ souboru.
Konstruktéři:
Metody:
Parametry:
cbuf - Cílová vyrovnávací paměť
off - Offset, od kterého se mají začít ukládat znaky
len - Maximální počet znaků ke čtení
Parametry:
n – Počet znaků, které se mají přeskočit
Následující program popisuje, jak číst z „textového“ souboru pomocí FileReader
// 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(); } }
Vytvořit kvíz