In questo tutorial, impareremo a conoscere Java Reader, le sue sottoclassi e i suoi metodi con l'aiuto di un esempio.
La Reader
classe del java.io
pacchetto è 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.Reader
prima 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 FileReader
classe. È 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 Reader
classe fornisce diversi metodi che vengono implementati dalle sue sottoclassi. Ecco alcuni dei metodi comunemente usati:
ready()
- controlla se il lettore è pronto per essere lettoread(char() array)
- legge i caratteri dal flusso e li memorizza nell'array specificatoread(char() array, int start, int length)
- legge il numero di caratteri uguale alla lunghezza dal flusso e memorizza nell'array specificato a partire dall'iniziomark()
- segna la posizione nel flusso fino alla quale i dati sono stati lettireset()
- restituisce il controllo al punto del flusso in cui è impostato il segnoskip()
- elimina il numero di caratteri specificato dal flusso
Esempio: Reader che utilizza FileReader
Ecco come possiamo implementare Reader
utilizzando la FileReader
classe.
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 FileReader
classe. 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).