logo

Gestió de fitxers en Java mitjançant FileWriter i FileReader

Les classes Java FileWriter i FileReader s'utilitzen per escriure i llegir dades dels fitxers de text (són Seqüència de personatges classes). És recomanable no per utilitzar les classes FileInputStream i FileOutputStream si heu de llegir i escriure qualsevol informació textual, ja que són classes de flux de bytes.
 

FileWriter
FileWriter és útil per crear un fitxer escrivint-hi caràcters. 

  • Aquesta classe hereta de la classe OutputStream.
  • Els constructors d'aquesta classe assumeixen que la codificació de caràcters per defecte i la mida predeterminada de la memòria intermèdia de bytes són acceptables. Per especificar aquests valors, creeu un OutputStreamWriter en un FileOutputStream. 
     
  • FileWriter està pensat per escriure fluxos de caràcters. Per escriure fluxos de bytes en brut, considereu utilitzar un FileOutputStream.
  • FileWriter crea el fitxer de sortida si encara no està present.


Constructors:  



algorismes d'ordenació
    FileWriter (fitxer de fitxer) -Construeix un objecte FileWriter donat un objecte File.FileWriter (adjuntar fitxer booleà de fitxer) -construeix un objecte FileWriter donat un objecte File.FileWriter (FileDescriptor fd) -construeix un objecte FileWriter associat a un descriptor de fitxer.FileWriter (String fileName) -construeix un objecte FileWriter amb un nom de fitxer.FileWriter (String fileName Boolean apend) -Construeix un objecte FileWriter amb un nom de fitxer amb un booleà que indica si s'han d'afegir o no les dades escrites.


Mètodes:  

    public void write (int c) llança IOException -Escriu un sol caràcter.public void write (char [] stir) llança IOException -Escriu una matriu de caràcters.public void write(String str) llança IOException -Escriu una cadena.public void write(String str int apagat int len) llança IOException - Escriu una part d'una cadena. Aquí off està desplaçat des del qual començar a escriure caràcters i len és el nombre de caràcters a escriure.public void flush() llança IOExceptionbuida el correntpublic void close() llança IOExceptionprimer esborra el flux i després tanca l'escriptor.


La lectura i l'escriptura tenen lloc caràcter per caràcter, la qual cosa augmenta el nombre d'operacions d'E/S i afecta el rendiment del sistema. BufferedWriter es pot utilitzar juntament amb FileWriter per millorar la velocitat d'execució.
El programa següent mostra com crear un fitxer de text amb 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 és útil per llegir dades en forma de caràcters d'un fitxer de "text". 

  • Aquesta classe s'ha heretat de la classe InputStreamReader.
  • Els constructors d'aquesta classe assumeixen que la codificació de caràcters per defecte i la mida predeterminada de la memòria intermèdia de bytes són adequades. Per especificar aquests valors, creeu un InputStreamReader en un FileInputStream. 
     
  • FileReader està pensat per llegir fluxos de caràcters. Per llegir fluxos de bytes en brut, considereu utilitzar un FileInputStream.


Constructors:  

    FileReader (fitxer de fitxer) -Crea un FileReader donat el fitxer per llegir-loFileReader(FileDescripter fd) -Crea un nou FileReader donat el FileDescripter per llegir-loFileReader(String fileName) -Crea un nou FileReader amb el nom del fitxer des del qual cal llegir


Mètodes:  

    public int read () llança IOException -Llegeix un sol caràcter. Aquest mètode es bloquejarà fins que un caràcter estigui disponible, es produeixi un error d'E/S o s'arribi al final del flux.public int read(char[] cbuff) llança IOException -Llegeix caràcters en una matriu. Aquest mètode es bloquejarà fins que hi hagi una entrada disponible, es produeixi un error d'E/S o s'arribi al final del flux.public abstract int read(char[] buff int off int len) llança IOException -Llegeix caràcters en una part d'una matriu. Aquest mètode es bloquejarà fins que hi hagi una entrada disponible, es produeixi un error d'E/S o s'arribi al final del flux. 
    Paràmetres: 
    cbuf - Buffer de destinació 
    off - Offset en què començar a emmagatzemar caràcters 
    len - Nombre màxim de caràcters per llegir 
     public void close() llança IOExceptiontanca el lector.public long skip (long n) llança IOException -Omet personatges. Aquest mètode es bloquejarà fins que hi hagi alguns caràcters disponibles, es produeixi un error d'E/S o s'arribi al final del flux. 
    Paràmetres: 
    n - El nombre de caràcters a saltar 


El programa següent mostra com llegir des del fitxer "text" mitjançant FileReader
 

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 un qüestionari