logo

Gestionarea fișierelor în Java folosind FileWriter și FileReader

Clasele Java FileWriter și FileReader sunt folosite pentru a scrie și a citi date din fișierele text (sunt Flux de caractere clase). Este recomandat nu pentru a utiliza clasele FileInputStream și FileOutputStream dacă trebuie să citiți și să scrieți orice informație textuală, deoarece acestea sunt clase de flux de octeți.
 

FileWriter
FileWriter este util pentru a crea un fișier care scrie caractere în el. 

clasa de matematica java
  • Această clasă moștenește din clasa OutputStream.
  • Constructorii acestei clase presupun că codificarea implicită a caracterelor și dimensiunea implicită a tamponului de octeți sunt acceptabile. Pentru a specifica aceste valori, construiți un OutputStreamWriter pe un FileOutputStream. 
     
  • FileWriter este destinat scrierii fluxurilor de caractere. Pentru scrierea fluxurilor de octeți bruti, luați în considerare utilizarea unui FileOutputStream.
  • FileWriter creează fișierul de ieșire dacă nu este deja prezent.


Constructori:  



    FileWriter (fișier fișier) -Construiește un obiect FileWriter având în vedere un obiect File.FileWriter (fișier boolean anexează) -construiește un obiect FileWriter dat un obiect File.FileWriter (FileDescriptor fd) -construiește un obiect FileWriter asociat cu un descriptor de fișier.FileWriter (String fileName) -construiește un obiect FileWriter cu un nume de fișier.FileWriter (șir de caractere fileName Boolean apend) -Construiește un obiect FileWriter cu un nume de fișier cu un boolean care indică dacă se adaugă sau nu datele scrise.


Metode:  

    public void write (int c) aruncă IOException -Scrie un singur caracter.public void write (char [] stir) aruncă IOException -Scrie o matrice de caractere.public void write(String str) aruncă IOException -Scrie un șir.public void write(String str int off int len) aruncă IOException - Scrie o porțiune dintr-un șir. Aici off este offset de la care să începeți să scrieți caractere și len este numărul de caractere de scris.public void flush() aruncă IOExceptionspăla pârâulpublic void close() aruncă IOExceptionspăla mai întâi fluxul și apoi închide writer-ul.


Citirea și scrierea au loc caracter cu caracter, ceea ce crește numărul de operațiuni I/O și afectează performanța sistemului. BufferedWriter poate fi folosit împreună cu FileWriter pentru a îmbunătăți viteza de execuție.
Următorul program descrie cum să creați un fișier text folosind FileWriter
 

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

FileReader este util pentru a citi date sub formă de caractere dintr-un fișier „text”. 

  • Această clasă moștenită din clasa InputStreamReader.
  • Constructorii acestei clase presupun că codificarea implicită a caracterelor și dimensiunea implicită a bufferului de octeți sunt adecvate. Pentru a specifica aceste valori, construiți un InputStreamReader pe un FileInputStream. 
     
  • FileReader este destinat citirii fluxurilor de caractere. Pentru citirea fluxurilor de octeți bruti, luați în considerare utilizarea unui FileInputStream.


Constructori:  

    FileReader (fișier fișier) -Creează un FileReader din care să citească fișierulFileReader(FileDescripter fd) -Creează un nou FileReader din care să fie citit FileDescripterFileReader(String fileName) -Creează un nou FileReader cu numele fișierului din care se citește


Metode:  

    public int read () aruncă IOException -Citește un singur caracter. Această metodă se va bloca până când un caracter este disponibil, apare o eroare I/O sau se ajunge la sfârșitul fluxului.public int read(char[] cbuff) aruncă IOException -Citește caractere într-o matrice. Această metodă se va bloca până când o anumită intrare este disponibilă, apare o eroare I/O sau se ajunge la sfârșitul fluxului.public abstract int read(char[] buff int off int len) aruncă IOException -Citește caractere într-o porțiune a unui tablou. Această metodă se va bloca până când o anumită intrare este disponibilă, apare o eroare I/O sau se ajunge la sfârșitul fluxului. 
    Parametri: 
    cbuf - Buffer de destinație 
    off - Offset la care să începeți stocarea caracterelor 
    len - Numărul maxim de caractere de citit 
     public void close() aruncă IOExceptionînchide cititorul.public long skip(long n) aruncă IOException -Omite caractere. Această metodă se va bloca până când unele caractere sunt disponibile, apare o eroare I/O sau se ajunge la sfârșitul fluxului. 
    Parametri: 
    n - Numărul de caractere de sărit 


Următorul program descrie cum să citiți din fișierul „text” folosind FileReader
 

forma completă ide
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();  } } 

 

Creați un test