V tej vadnici bomo s pomočjo primerov spoznali Javo BufferedReader in njene metode.
BufferedReaderRazred java.iopaket se lahko uporablja skupaj z drugimi bralci bolj učinkovito branje podatkov (v znakih).
Razširja abstraktni razred Reader.

Delovanje BufferedReaderja
BufferedReaderOhranja notranji medpomnilnik 8192 znakov .
Med operacijo branja v BufferedReader, se z diska prebere del znakov in shrani v notranji vmesnik In iz notranjega medpomnilnika se znaki berejo posamezno.
Zato se zmanjša število komunikacij na disk. Zato je branje znakov hitrejše BufferedReader.
Ustvarite BufferedReader
Če želite ustvariti a BufferedReader, moramo najprej uvoziti java.io.BuferedReaderpaket. Ko uvozimo paket, tukaj je opisano, kako lahko ustvarimo bralnik.
// Creates a FileReader FileReader file = new FileReader(String file); // Creates a BufferedReader BufferedReader buffer = new BufferedReader(file);
V zgornjem primeru smo BufferedReaderz FileReaderimenovano datoteko ustvarili imenovani vmesni pomnilnik .
Tu ima notranji vmesni pomnilnik BufferedReaderprivzeto velikost 8192 znakov. Lahko pa določimo tudi velikost notranjega vmesnega pomnilnika.
// Creates a BufferdReader with specified size internal buffer BufferedReader buffer = new BufferedReader(file, int size);
Medpomnilnik vam bo pomagal hitreje prebrati znake iz datotek.
Metode BufferedReader
BufferedReaderRazred določa izvedb za različne metode, ki so prisotne v Reader.
metoda read ()
read()- prebere en sam znak iz notranjega vmesnega pomnilnika bralnikaread(char() array)- prebere znake iz bralnika in jih shrani v določeno poljeread(char() array, int start, int length)- iz bralnika prebere število znakov, enako dolžini, in shrani v določeno matriko, začenši od začetka položaja
Denimo, da imamo datoteko z imenom input.txt z naslednjo vsebino.
This is a line of text inside the file.
Poskusimo datoteko prebrati z BufferedReader.
import java.io.FileReader; import java.io.BufferedReader; class Main ( public static void main(String() args) ( // Creates an array of character char() array = new char(100); try ( // Creates a FileReader FileReader file = new FileReader("input.txt"); // Creates a BufferedReader BufferedReader input = new BufferedReader(file); // Reads characters input.read(array); System.out.println("Data in the file: "); System.out.println(array); // Closes the reader input.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
Izhod
Podatki v datoteki: To je vrstica besedila znotraj datoteke.
V zgornjem primeru smo ustvarili medpomnilnik z imenom input. Medpomnilnik je povezan z datoteko input.txt .
FileReader file = new FileReader("input.txt"); BufferedReader input = new BufferedReader(file);
Tu smo read()metodo uporabili za branje vrste znakov iz notranjega vmesnega pomnilnika medpomnilnika.
preskoči () Metoda
Če želimo zavreči in preskočiti določeno število znakov, lahko uporabimo skip()metodo. Na primer
import java.io.FileReader; import java.io.BufferedReader; public class Main ( public static void main(String args()) ( // Creates an array of characters char() array = new char(100); try ( // Suppose, the input.txt file contains the following text // This is a line of text inside the file. FileReader file = new FileReader("input.txt"); // Creates a BufferedReader BufferedReader input = new BufferedReader(file); // Skips the 5 characters input.skip(5); // Reads the characters input.read(array); System.out.println("Data after skipping 5 characters:"); System.out.println(array); // closes the reader input.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) )
Izhod
Podatki po preskoku 5 znakov: je vrstica besedila znotraj datoteke.
V zgornjem primeru smo skip()metodo uporabili za preskok 5 znakov iz bralnika datotek. Zato, znaki 'T', 'h', 'i', 's'in ' 'se preskočijo iz prvotne datoteke.
metoda close ()
Za zapiranje medpomnilnika lahko uporabimo close()metodo. Ko je close()metoda enkrat poklicana, ne moremo uporabljati bralnika za branje podatkov.
Druge metode BufferedReader
| Metoda | Opis |
|---|---|
ready() | preveri, ali je bralnik datotek pripravljen za branje |
mark() | označite položaj v bralniku, do katerega so bili prebrani podatki |
reset() | vrne kontrolnik do točke v čitalniku, kjer je bila nastavljena oznaka |
Če želite izvedeti več, obiščite Java BufferedReader (uradna dokumentacija Java).








