În acest tutorial, vom afla despre Java Reader, subclasele sale și metodele sale cu ajutorul unui exemplu.
Reader
Clasa a java.io
pachetului este o superclasa abstractă , care reprezintă un flux de caractere.
Deoarece Reader
este 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 FileReader
clasa. Este pentru că Reader
este 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
Reader
Clasa 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 cititread(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 începutmark()
- marchează poziția în flux până la care au fost citite datelereset()
- returnează controlul la punctul din flux în care este setată marcaskip()
- elimină din flux numărul specificat de caractere
Exemplu: Reader folosind FileReader
Iată cum putem implementa Reader
folosind FileReader
clasa.
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 FileReader
clasa. 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).