Java Reader (con esempio)

In questo tutorial, impareremo a conoscere Java Reader, le sue sottoclassi e i suoi metodi con l'aiuto di un esempio.

La Readerclasse del java.iopacchetto è una superclasse astratta che rappresenta un flusso di caratteri.

Poiché Readerè una classe astratta, non è utile di per sé. Tuttavia, le sue sottoclassi possono essere utilizzate per leggere i dati.

Sottoclassi di Reader

Per utilizzare la funzionalità di Reader, possiamo utilizzare le sue sottoclassi. Alcuni di loro sono:

  • BufferedReader
  • InputStreamReader
  • FileReader
  • StringReader

Impareremo a conoscere tutte queste sottoclassi nel prossimo tutorial.

Crea un lettore

Per creare un Reader, dobbiamo java.io.Readerprima importare il pacchetto. Una volta importato il pacchetto, ecco come possiamo creare il lettore.

 // Creates a Reader Reader input = new FileReader(); 

Qui abbiamo creato un lettore usando la FileReaderclasse. È perché Readerè una classe astratta. Quindi non possiamo creare un oggetto di Reader.

Nota : possiamo anche creare lettori da altre sottoclassi di Reader.

Metodi di lettore

La Readerclasse fornisce diversi metodi che vengono implementati dalle sue sottoclassi. Ecco alcuni dei metodi comunemente usati:

  • ready() - controlla se il lettore è pronto per essere letto
  • read(char() array) - legge i caratteri dal flusso e li memorizza nell'array specificato
  • read(char() array, int start, int length) - legge il numero di caratteri uguale alla lunghezza dal flusso e memorizza nell'array specificato a partire dall'inizio
  • mark() - segna la posizione nel flusso fino alla quale i dati sono stati letti
  • reset() - restituisce il controllo al punto del flusso in cui è impostato il segno
  • skip() - elimina il numero di caratteri specificato dal flusso

Esempio: Reader che utilizza FileReader

Ecco come possiamo implementare Readerutilizzando la FileReaderclasse.

Supponiamo di avere un file denominato input.txt con il seguente contenuto.

 This is a line of text inside the file. 

Proviamo a leggere questo file usando FileReader(una sottoclasse di Reader).

 import java.io.Reader; 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 Reader input = new FileReader("input.txt"); // Checks if reader is ready System.out.println("Is there data in the stream? " + input.ready()); // Reads characters input.read(array); System.out.println("Data in the stream:"); System.out.println(array); // Closes the reader input.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Produzione

Ci sono dati nel flusso? true Dati nel flusso: questa è una riga di testo all'interno del file.

Nell'esempio sopra, abbiamo creato un lettore utilizzando la FileReaderclasse. Il lettore è collegato al file input.txt .

 Reader input = new FileReader("input.txt"); 

Per leggere i dati dal file input.txt , abbiamo implementato questi metodi.

 input.read(); // to read data from the reader input.close(); // to close the reader 

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

Articoli interessanti...