Java Reader (cu exemplu)

În acest tutorial, vom afla despre Java Reader, subclasele sale și metodele sale cu ajutorul unui exemplu.

ReaderClasa a java.iopachetului este o superclasa abstractă , care reprezintă un flux de caractere.

Deoarece Readereste o clasă abstractă, nu este utilă de la sine. Cu toate acestea, subclasele sale pot fi utilizate pentru a citi date.

Subclase de Reader

Pentru a utiliza funcționalitatea Reader, putem folosi subclasele sale. Unii dintre ei sunt:

  • Cititor tamponat
  • InputStreamReader
  • FileReader
  • StringReader

Vom afla despre toate aceste subclase în următorul tutorial.

Creați un cititor

Pentru a crea un Reader, trebuie să importăm mai java.io.Readerîntâi pachetul. Odată ce am importat pachetul, iată cum putem crea cititorul.

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

Aici, am creat un cititor folosind FileReaderclasa. Este pentru că Readereste o clasă abstractă. Prin urmare, nu putem crea un obiect al Reader.

Notă : Putem crea și cititori din alte subclase de Reader.

Metode de citire

ReaderClasa prevede metode diferite care sunt puse în aplicare de către subclase. Iată câteva dintre metodele utilizate în mod obișnuit:

  • ready() - verifică dacă cititorul este gata să fie citit
  • read(char() array) - citește caracterele din flux și stochează în matricea specificată
  • read(char() array, int start, int length) - citește numărul de caractere egal cu lungimea din flux și stochează în matricea specificată începând de la început
  • mark() - marchează poziția în flux până la care au fost citite datele
  • reset() - returnează controlul la punctul din flux în care este setată marca
  • skip() - elimină din flux numărul specificat de caractere

Exemplu: Reader folosind FileReader

Iată cum putem implementa Readerfolosind FileReaderclasa.

Să presupunem că avem un fișier numit input.txt cu următorul conținut.

 This is a line of text inside the file. 

Să încercăm să citim acest fișier folosind FileReader(o subclasă de 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(); ) ) ) 

Ieșire

Există date în flux? true Data în flux: Aceasta este o linie de text din fișier.

În exemplul de mai sus, am creat un cititor folosind FileReaderclasa. Cititorul este legat de fișierul input.txt .

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

Pentru a citi date din fișierul input.txt , am implementat aceste metode.

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

Pentru a afla mai multe, vizitați Java Reader (documentație oficială Java).

Articole interesante...