U ovom uputstvu uz pomoć primjera naučit ćemo o Java Readeru, njegovim podrazredima i metodama.
Reader
Razred java.io
paketa je apstraktna superclass koja predstavlja tok znakova.
Budući da Reader
je 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.Reader
paket. Nakon što uvozimo paket, evo kako možemo stvoriti čitač.
// Creates a Reader Reader input = new FileReader();
Ovdje smo stvorili čitač pomoću FileReader
klase. To je zato što Reader
je 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
Reader
Klasa 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 čitanjeread(char() array)
- čita znakove iz streama i pohranjuje u navedeni nizread(char() array, int start, int length)
- čita broj znakova jednak duljini iz streama i pohranjuje u navedeni niz počevši od početkamark()
- označava položaj u toku do kojeg su podaci pročitanireset()
- vraća kontrolu na točku u toku gdje je postavljena oznakaskip()
- odbacuje navedeni broj znakova iz streama
Primjer: čitač pomoću programa FileReader
Evo kako možemo implementirati Reader
pomoću FileReader
klase.
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 FileReader
klase. Č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).