W tym samouczku dowiemy się o czytniku Java, jego podklasach i metodach na przykładzie.
Reader
Klasa java.io
pakietu jest abstrakcyjną nadklasą który reprezentuje strumień znaków.
Ponieważ Reader
jest 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.Reader
pakiet. Po zaimportowaniu pakietu, oto jak możemy stworzyć czytnik.
// Creates a Reader Reader input = new FileReader();
Tutaj stworzyliśmy czytelnika przy użyciu FileReader
klasy. To dlatego, że Reader
jest to klasa abstrakcyjna. Dlatego nie możemy stworzyć przedmiotu Reader
.
Uwaga : możemy również tworzyć czytniki z innych podklas Reader
.
Metody czytelnika
Reader
Klasa 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ć Reader
za pomocą FileReader
klasy.
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 FileReader
klasy. 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).