logo

Fájlkezelés Java nyelven FileWriter és FileReader segítségével

A Java FileWriter és FileReader osztályok szöveges fájlok írására és olvasására szolgálnak (ezek Karakterfolyam osztályok). Ajánlott nem a FileInputStream és FileOutputStream osztályok használatához, ha bármilyen szöveges információt kell olvasnia és írnia kell, mivel ezek Byte folyam osztályok.
 

FileWriter
A FileWriter hasznos karaktereket író fájl létrehozásához. 

  • Ez az osztály az OutputStream osztálytól örökli.
  • Ennek az osztálynak a konstruktorai feltételezik, hogy az alapértelmezett karakterkódolás és az alapértelmezett bájtpufferméret elfogadható. Ezen értékek megadásához hozzon létre egy OutputStreamWriter-t egy FileOutputStream-en. 
     
  • A FileWriter karakterfolyamok írására szolgál. Nyers bájtok adatfolyamainak írásához fontolja meg a FileOutputStream használatát.
  • A FileWriter létrehozza a kimeneti fájlt, ha az még nincs jelen.


Kivitelezők:  



    FileWriter (fájlfájl) -Egy FileWriter objektumot hoz létre egy File objektummal.FileWriter (fájlfájl logikai hozzáfűzés) -létrehoz egy FileWriter objektumot egy File objektummal.FileWriter (FileDescriptor fd) -egy fájlleíróhoz társított FileWriter objektumot hoz létre.FileWriter (karakterlánc fájlnév) -létrehoz egy fájlnévvel ellátott FileWriter objektumot.FileWriter (String fileName logikai hozzáfűzés) -Létrehoz egy FileWriter objektumot, amely egy fájlnévvel és logikai értékkel rendelkezik, jelezve, hogy hozzá kell-e fűzni az írt adatokat.


Mód:  

    public void write (int c) IOExceptiont dob ​​-Egyetlen karaktert ír.public void írás (char [] kever) dob IOException -Egy sor karaktert ír.public void write (String str) dobja az IOExceptiont -Ír egy karakterláncot.public void write(String str int ki int len) dob IOException - Leírja a karakterlánc egy részét. Itt off az eltolás, ahonnan a karakterek írása elkezdődik, a len pedig az írandó karakterek száma.A public void flush() IOExceptiont doböblíti a patakotA public void close() IOExceptiont dobelőször kiöblíti a patakot, majd bezárja az írót.


Az olvasás és az írás karakterenként történik, ami növeli az I/O műveletek számát és befolyásolja a rendszer teljesítményét. BufferedWriter a FileWriterrel együtt használható a végrehajtás sebességének javítására.
A következő program bemutatja, hogyan lehet szöveges fájlt létrehozni a FileWriter használatával
 

Java
// 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

A FileReader hasznos az adatok karakterek formájában történő olvasásához egy „szöveg” fájlból. 

  • Ez az osztály az InputStreamReader osztálytól örökölt.
  • Ennek az osztálynak a konstruktorai feltételezik, hogy az alapértelmezett karakterkódolás és az alapértelmezett bájtpufferméret megfelelő. Ezen értékek megadásához hozzon létre egy InputStreamReader-t a FileInputStream-en. 
     
  • A FileReader karakterfolyamok olvasására szolgál. A nyers bájtok adatfolyamainak olvasásához fontolja meg a FileInputStream használatát.


Kivitelezők:  

    FileReader (fájlfájl) -Létrehoz egy FileReader-t az olvasandó fájl alapjánFileReader(FileDescripter fd) -Létrehoz egy új FileReader-t a FileDescripter segítségével, amelyből olvasni kellFájlolvasó(karakterlánc fájlnév) -Létrehoz egy új FileReader-t az olvasni kívánt fájl nevével


Mód:  

    A public int read () IOException kivételt dob ​​-Egyetlen karaktert olvas. Ez a módszer mindaddig blokkol, amíg egy karakter elérhetővé válik, I/O hiba nem történik, vagy a folyam végét el nem éri.public int read(char[] cbuff) IOExceptiont dob ​​-Beolvassa a karaktereket egy tömbbe. Ez a módszer mindaddig blokkol, amíg néhány bemenet nem áll rendelkezésre, I/O hiba nem történik, vagy a folyam végét el nem éri.public abstract int read(char[] buff int off int len) IOExceptiont dob ​​-Beolvassa a karaktereket egy tömb egy részébe. Ez a módszer mindaddig blokkol, amíg néhány bemenet nem áll rendelkezésre, I/O hiba nem történik, vagy a folyam végét el nem éri. 
    Paraméterek: 
    cbuf – Cél puffer 
    off – Eltolás, amelynél elkezdődik a karakterek tárolása 
    len – Az olvasható karakterek maximális száma 
     A public void close() IOExceptiont dobbezárja az olvasót.nyilvános hosszú kihagyás(hosszú n) dobások IOException -Kihagyja a karaktereket. Ez a módszer mindaddig blokkol, amíg néhány karakter elérhető, I/O hiba nem történik, vagy a folyam végét el nem éri. 
    Paraméterek: 
    n – Az átugorandó karakterek száma 


A következő program bemutatja, hogyan lehet olvasni a „szöveg” fájlból a FileReader segítségével
 

Java
// 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();  } } 

 

Kvíz létrehozása