Java Reader (s primerom)

V tej vadnici bomo s pomočjo primera spoznali Java Reader, njegove podrazrede in metode.

ReaderRazred java.iopaketa je abstraktna nadrazreda, ki predstavlja tok znakov.

Ker Readerje abstraktni razred, sam po sebi ni koristen. Vendar lahko njegove podrazrede uporabljamo za branje podatkov.

Podrazredi bralca

Za uporabo funkcionalnosti Readerlahko uporabimo njegove podrazrede. Nekateri med njimi so:

  • BufferedReader
  • InputStreamReader
  • FileReader
  • StringReader

O vseh teh podrazredih bomo izvedeli v naslednji vadnici.

Ustvari bralnik

Če želite ustvariti a Reader, moramo najprej uvoziti java.io.Readerpaket. Ko uvozimo paket, tukaj je opisano, kako lahko ustvarimo bralnik.

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

Tu smo ustvarili bralnik, ki uporablja FileReaderrazred. To je zato, ker Readerje abstraktni razred. Zato ne moremo ustvariti predmeta Reader.

Opomba : Bralnike lahko ustvarjamo tudi iz drugih podrazredov Reader.

Metode bralca

ReaderRazred določa različne metode, ki jih izvajajo njegove podrazrede. Tu je nekaj najpogosteje uporabljenih metod:

  • ready() - preveri, ali je bralnik pripravljen za branje
  • read(char() array) - bere znake iz toka in shrani v določeno matriko
  • read(char() array, int start, int length) - iz toka prebere število znakov, enako dolžini, in shrani v določeno polje od začetka
  • mark() - označuje položaj v toku, do katerega so bili prebrani podatki
  • reset() - vrne kontrolnik na točko v toku, kjer je nastavljena oznaka
  • skip() - zavrže določeno število znakov iz toka

Primer: Bralnik, ki uporablja FileReader

Tukaj je opisano, kako lahko izvedemo Readeruporabo FileReaderrazreda.

Recimo, da imamo datoteko z imenom input.txt z naslednjo vsebino.

 This is a line of text inside the file. 

Poskusimo prebrati to datoteko z uporabo FileReader(podrazred 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(); ) ) ) 

Izhod

Ali so v toku podatki? true Podatki v toku: To je vrstica besedila znotraj datoteke.

V zgornjem primeru smo ustvarili bralnik, ki uporablja FileReaderrazred. Čitalnik je povezan z datoteko input.txt .

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

Za branje podatkov iz datoteke input.txt smo uvedli te metode.

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

Če želite izvedeti več, obiščite Java Reader (uradna dokumentacija Java).

Zanimive Članki...