Java FileReader (con esempi)

In questo tutorial impareremo a conoscere Java FileReader e i suoi metodi con l'aiuto di esempi.

La FileReaderclasse del java.iopacchetto può essere utilizzata per leggere i dati (in caratteri) dai file.

Estende la InputSreamReaderclasse.

Prima di saperne di più FileReader, assicurati di conoscere il file Java.

Crea un FileReader

Per creare un lettore di file, dobbiamo java.io.FileReaderprima importare il pacchetto. Una volta importato il pacchetto, ecco come possiamo creare il lettore di file.

1. Utilizzando il nome del file

 FileReader input = new FileReader(String name); 

Qui abbiamo creato un lettore di file che sarà collegato al file specificato dal nome.

2. Utilizzo di un oggetto del file

 FileReader input = new FileReader(File fileObj); 

Qui abbiamo creato un lettore di file che sarà collegato al file specificato dall'oggetto del file.

Nell'esempio precedente, i dati nel file vengono memorizzati utilizzando una codifica dei caratteri predefinita.

Tuttavia, poiché Java 11 è possibile specificare anche il tipo di codifica dei caratteri ( UTF-8 o UTF-16 ) nel file.

 FileReader input = new FileReader(String file, Charset cs); 

Qui abbiamo usato la Charsetclasse per specificare la codifica dei caratteri del lettore di file.

Metodi di FileReader

La FileReaderclasse fornisce implementazioni per diversi metodi presenti nella Readerclasse.

metodo read ()

  • read() - legge un singolo carattere dal lettore
  • read(char() array) - legge i caratteri dal lettore e li memorizza nell'array specificato
  • read(char() array, int start, int length) - legge il numero di caratteri pari alla lunghezza dal lettore e memorizza nell'array specificato a partire dall'inizio della posizione

Ad esempio, supponiamo di avere un file denominato input.txt con il seguente contenuto.

 This is a line of text inside the file. 

Proviamo a leggere il file usando FileReader.

 import java.io.FileReader; class Main ( public static void main(String() args) ( // Creates an array of character char() array = new char(100); try ( // Creates a reader using the FileReader FileReader input = new FileReader("input.txt"); // Reads characters input.read(array); System.out.println("Data in the file: "); System.out.println(array); // Closes the reader input.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Produzione

 Dati nel file: questa è una riga di testo all'interno del file. 

Nell'esempio sopra, abbiamo creato un lettore di file chiamato input. Il lettore di file è collegato al file input.txt .

 FileInputStream input = new FileInputStream("input.txt"); 

Per leggere i dati dal file, abbiamo utilizzato il read()metodo.

metodo getEncoding ()

Il getEncoding()metodo può essere utilizzato per ottenere il tipo di codifica utilizzato per memorizzare i dati nel file. Per esempio,

 import java.io.FileReader; import java.nio.charset.Charset; class Main ( public static void main(String() args) ( try ( // Creates a FileReader with default encoding FileReader input1 = new FileReader("input.txt"); // Creates a FileReader specifying the encoding FileReader input2 = new FileReader("input.txt", Charset.forName("UTF8")); // Returns the character encoding of the file reader System.out.println("Character encoding of input1: " + input1.getEncoding()); System.out.println("Character encoding of input2: " + input2.getEncoding()); // Closes the reader input1.close(); input2.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Produzione

 La codifica dei caratteri di input1: Cp1252 La codifica dei caratteri di input2: UTF8 

Nell'esempio precedente, abbiamo creato 2 lettori di file denominati input1 e input2.

  • input1 non specifica la codifica dei caratteri. Quindi il getEncoding()metodo restituisce la codifica dei caratteri predefinita.
  • input2 specifica la codifica dei caratteri, UTF8 . Quindi il getEncoding()metodo restituisce la codifica dei caratteri specificata.

Nota : abbiamo utilizzato il Charset.forName()metodo per specificare il tipo di codifica dei caratteri. Per saperne di più, visita Java Charset (documentazione Java ufficiale).

metodo close ()

Per chiudere il lettore di file, possiamo usare il close()metodo. Una volta close()chiamato il metodo, non possiamo usare il lettore per leggere i dati.

Altri metodi di FileReader

Metodo Descrizione
ready() controlla se il lettore di file è pronto per essere letto
mark() segnare la posizione nel lettore di file fino alla quale i dati sono stati letti
reset() restituisce il controllo al punto del lettore in cui è stato impostato il segno

Per saperne di più, visita Java FileReader (documentazione Java ufficiale).

Articoli interessanti...