Java Reader (s primjerom)

U ovom uputstvu uz pomoć primjera naučit ćemo o Java Readeru, njegovim podrazredima i metodama.

ReaderRazred java.iopaketa je apstraktna superclass koja predstavlja tok znakova.

Budući da Readerje apstraktna klasa, ona sama po sebi nije korisna. Međutim, njegove se podrazrede mogu koristiti za čitanje podataka.

Podrazredi Reader-a

Da bismo koristili funkcionalnost Reader, možemo koristiti njegove podrazrede. Neki od njih su:

  • BufferedReader
  • InputStreamReader
  • Čitač datoteka
  • StringReader

O svim tim podrazredima naučit ćemo u sljedećem vodiču.

Stvorite čitač

Da bismo stvorili Reader, prvo moramo uvesti java.io.Readerpaket. Nakon što uvozimo paket, evo kako možemo stvoriti čitač.

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

Ovdje smo stvorili čitač pomoću FileReaderklase. To je zato što Readerje apstraktna klasa. Stoga ne možemo stvoriti objekt od Reader.

Napomena : Također možemo stvoriti čitače iz drugih podrazreda Reader.

Metode čitača

ReaderKlasa pruža različite metode koje se provode njegove potklase. Evo nekoliko najčešće korištenih metoda:

  • ready() - provjerava je li čitač spreman za čitanje
  • read(char() array) - čita znakove iz streama i pohranjuje u navedeni niz
  • read(char() array, int start, int length) - čita broj znakova jednak duljini iz streama i pohranjuje u navedeni niz počevši od početka
  • mark() - označava položaj u toku do kojeg su podaci pročitani
  • reset() - vraća kontrolu na točku u toku gdje je postavljena oznaka
  • skip() - odbacuje navedeni broj znakova iz streama

Primjer: čitač pomoću programa FileReader

Evo kako možemo implementirati Readerpomoću FileReaderklase.

Pretpostavimo da imamo datoteku koja se zove input.txt sa sljedećim sadržajem.

 This is a line of text inside the file. 

Pokušajmo pročitati ovu datoteku koristeći FileReader(podrazred od 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(); ) ) ) 

Izlaz

Postoje li podaci u streamu? true Podaci u streamu: Ovo je redak teksta unutar datoteke.

U gornjem primjeru stvorili smo čitač pomoću FileReaderklase. Čitač je povezan s datotekom input.txt .

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

Da bismo čitali podatke iz datoteke input.txt , implementirali smo ove metode.

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

Da biste saznali više, posjetite Java Reader (službena Java dokumentacija).

Zanimljivi članci...