logo

Gestione dei file in Java utilizzando FileWriter e FileReader

Le classi Java FileWriter e FileReader vengono utilizzate per scrivere e leggere dati da file di testo (sono Flusso di personaggi classi). È raccomandato non per utilizzare le classi FileInputStream e FileOutputStream se è necessario leggere e scrivere informazioni testuali poiché si tratta di classi Byte stream.
 

FileWriter
FileWriter è utile per creare un file scrivendovi dei caratteri. 

  • Questa classe eredita dalla classe OutputStream.
  • I costruttori di questa classe presuppongono che la codifica dei caratteri predefinita e la dimensione del buffer di byte predefinita siano accettabili. Per specificare questi valori, costruisci tu stesso un OutputStreamWriter su un FileOutputStream. 
     
  • FileWriter è pensato per scrivere flussi di caratteri. Per scrivere flussi di byte grezzi, considera l'utilizzo di FileOutputStream.
  • FileWriter crea il file di output se non è già presente.


Costruttori:  



lezione di matematica java
    FileWriter(File di file) -Costruisce un oggetto FileWriter dato un oggetto File.FileWriter (aggiunta booleana al file file) -costruisce un oggetto FileWriter dato un oggetto File.FileWriter (FileDescriptor fd) -costruisce un oggetto FileWriter associato a un descrittore di file.FileWriter (Stringa nomefile) -costruisce un oggetto FileWriter dato un nome file.FileWriter (stringa nomefile aggiunta booleana) -Costruisce un oggetto FileWriter a cui è assegnato un nome file con un valore booleano che indica se aggiungere o meno i dati scritti.


Metodi:  

    public void write (int c) genera IOException -Scrive un singolo carattere.public void write (char [] stir) lancia IOException -Scrive un array di caratteri.public void write(String str)genera IOException -Scrive una stringa.public void write(String str int spento int len)genera IOException - Scrive una porzione di una stringa. Qui off è l'offset da cui iniziare a scrivere i caratteri e len è il numero di caratteri da scrivere.public void flush() lancia IOExceptionfa scorrere il ruscellopublic void close() genera IOExceptionprima scarica il flusso e poi chiude lo scrittore.


La lettura e la scrittura avvengono carattere per carattere, il che aumenta il numero di operazioni di I/O e influisce sulle prestazioni del sistema. BufferedWriter può essere utilizzato insieme a FileWriter per migliorare la velocità di esecuzione.
Il seguente programma descrive come creare un file di testo utilizzando 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();  } }  

Lettore di file

stringa ad esso

FileReader è utile per leggere dati sotto forma di caratteri da un file di "testo". 

  • Questa classe è ereditata dalla classe InputStreamReader.
  • I costruttori di questa classe presuppongono che la codifica dei caratteri predefinita e la dimensione del buffer di byte predefinita siano appropriate. Per specificare questi valori, costruisci tu stesso un InputStreamReader su un FileInputStream. 
     
  • FileReader è pensato per leggere flussi di caratteri. Per leggere flussi di byte grezzi, considera l'utilizzo di FileInputStream.


Costruttori:  

un oggetto in Java
    Lettore di file (file di file) -Crea un FileReader dato il file da cui leggereLettore di file (Descrittore di file fd) -Crea un nuovo FileReader dato il FileDescripter da cui leggereFileReader(String nomefile) -Crea un nuovo FileReader con il nome del file da cui leggere


Metodi:  

    public int read() lancia IOException -Legge un singolo carattere. Questo metodo si bloccherà finché non sarà disponibile un carattere, non si verificherà un errore I/O o non verrà raggiunta la fine del flusso.public int read(char[] cbuff) lancia IOException -Legge i caratteri in un array. Questo metodo si bloccherà finché non sarà disponibile alcun input, si verificherà un errore I/O o verrà raggiunta la fine del flusso.public abstract int read(char[] buff int off int len) genera IOException -Legge i caratteri in una porzione di un array. Questo metodo si bloccherà finché non sarà disponibile alcun input, si verificherà un errore I/O o verrà raggiunta la fine del flusso. 
    parametri: 
    cbuf: buffer di destinazione 
    off - Offset dal quale iniziare a memorizzare i caratteri 
    len - Numero massimo di caratteri da leggere 
     public void close() genera IOExceptionchiude il lettore.public long skip(long n) lancia IOException -Salta i caratteri. Questo metodo si bloccherà finché non saranno disponibili alcuni caratteri, si verificherà un errore I/O o verrà raggiunta la fine del flusso. 
    parametri: 
    n - Il numero di caratteri da saltare 


Il seguente programma illustra come leggere dal file "testo" utilizzando 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 quiz