Czytnik Java (z przykładem)

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 czytania
  • read(char() array) - odczytuje znaki ze strumienia i przechowuje w określonej tablicy
  • read(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ątku
  • mark() - zaznacza pozycję w strumieniu, do której zostały odczytane dane
  • reset() - zwraca sterowanie do punktu w strumieniu, w którym ustawiony jest znacznik
  • skip() - 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).

Interesujące artykuły...