W tym samouczku dowiemy się o czytniku Java, jego podklasach i metodach na przykładzie.
ReaderKlasa java.iopakietu jest abstrakcyjną nadklasą który reprezentuje strumień znaków.
Ponieważ Readerjest to klasa abstrakcyjna, sama w sobie nie jest przydatna. Jednak jego podklasy mogą być używane do odczytu danych.
Podklasy Reader
Aby skorzystać z funkcjonalności programu Reader, możemy skorzystać z jego podklas. Niektórzy z nich są:
- BufferedReader
- InputStreamReader
- FileReader
- StringReader

Dowiemy się o wszystkich tych podklasach w następnym samouczku.
Utwórz czytelnika
Aby utworzyć plik Reader, musimy najpierw zaimportować java.io.Readerpakiet. Po zaimportowaniu pakietu, oto jak możemy stworzyć czytnik.
// Creates a Reader Reader input = new FileReader();
Tutaj stworzyliśmy czytelnika przy użyciu FileReaderklasy. To dlatego, że Readerjest to klasa abstrakcyjna. Dlatego nie możemy stworzyć przedmiotu Reader.
Uwaga : możemy również tworzyć czytniki z innych podklas Reader.
Metody czytelnika
ReaderKlasa przewiduje różne metody, które są realizowane przez jej podklasy. Oto niektóre z powszechnie używanych metod:
ready()- sprawdza, czy czytnik jest gotowy do czytaniaread(char() array)- odczytuje znaki ze strumienia i przechowuje w określonej tablicyread(char() array, int start, int length)- odczytuje liczbę znaków równą długości ze strumienia i zapisuje w określonej tablicy zaczynając od początkumark()- zaznacza pozycję w strumieniu, do której zostały odczytane danereset()- zwraca sterowanie do punktu w strumieniu, w którym ustawiony jest znacznikskip()- odrzuca określoną liczbę znaków ze strumienia
Przykład: czytnik korzystający z FileReader
Oto, jak możemy zaimplementować Readerza pomocą FileReaderklasy.
Załóżmy, że mamy plik o nazwie input.txt z następującą zawartością.
This is a line of text inside the file.
Spróbujmy odczytać ten plik przy użyciu FileReader(podklasy 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(); ) ) )
Wynik
Czy w strumieniu są dane? true Dane w strumieniu: jest to wiersz tekstu w pliku.
W powyższym przykładzie utworzyliśmy czytnik przy użyciu FileReaderklasy. Czytnik jest powiązany z plikiem input.txt .
Reader input = new FileReader("input.txt");
Aby odczytać dane z pliku input.txt , zaimplementowaliśmy te metody.
input.read(); // to read data from the reader input.close(); // to close the reader
Aby dowiedzieć się więcej, odwiedź Java Reader (oficjalna dokumentacja Java).








