„Java BufferedReader“ (su pavyzdžiais)

Šioje pamokoje pavyzdžių pagalba sužinosime apie „Java BufferedReader“ ir jos metodus.

BufferedReaderKlasės java.iopakuotėje gali būti naudojamas su kitais skaitytojais skaityti duomenis (rašmenimis) efektyviau.

Tai pratęsia abstrakčią klasę Reader.

„BufferedReader“ darbas

BufferedReaderIšlaiko vidinę buferį 8192 simbolių .

Atliekant skaitymo operaciją BufferedReader, simbolių dalis nuskaitoma iš disko ir laikoma vidiniame buferyje. Iš vidinio buferio simboliai skaitomi atskirai.

Taigi sumažėja ryšio į diską skaičius. Štai kodėl simbolių skaitymas yra greitesnis BufferedReader.

Sukurkite „BufferedReader“

Norėdami sukurti „a“ BufferedReader, pirmiausia turime importuoti java.io.BuferedReaderpaketą. Kai importuosime paketą, štai kaip galime sukurti skaitytuvą.

 // Creates a FileReader FileReader file = new FileReader(String file); // Creates a BufferedReader BufferedReader buffer = new BufferedReader(file); 

Ankstesniame pavyzdyje mes sukūrėme BufferedReaderpavadintą buferį su FileReaderpavadintu failu.

Čia vidinis buferis BufferedReaderturi numatytąjį 8192 simbolių dydį. Tačiau mes galime nurodyti ir vidinio buferio dydį.

 // Creates a BufferdReader with specified size internal buffer BufferedReader buffer = new BufferedReader(file, int size); 

Buferis padės greičiau perskaityti simbolius iš failų.

„BufferedReader“ metodai

BufferedReaderKlasė suteikia diegimo skirtingų metodų esančių Reader.

skaityti () metodas

  • read() - nuskaito vieną simbolį iš vidinio skaitytuvo buferio
  • read(char() array) - skaito simbolius iš skaitytuvo ir saugo nurodytame masyve
  • read(char() array, int start, int length) - skaito iš skaitytuvo simbolių skaičių, lygų ilgiui, ir saugo nurodytame masyve nuo pozicijos pradžios

Pvz., Tarkime, kad turime failą pavadinimu input.txt su tokiu turiniu.

 This is a line of text inside the file. 

Pabandykime perskaityti failą naudodami 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(); ) ) ) 

Rezultatas

 Duomenys faile: Tai yra teksto eilutė failo viduje. 

Ankstesniame pavyzdyje mes sukūrėme buferinį skaitytuvą, pavadintą įvestis. Buferinis skaitytuvas susietas su „ input.txt“ failu.

 FileReader file = new FileReader("input.txt"); BufferedReader input = new BufferedReader(file); 

Čia mes naudojome read()metodą, norėdami perskaityti simbolių masyvą iš vidinio buferio skaitytuvo buferio.

praleisti () metodas

Norėdami išmesti ir praleisti nurodytą skaičių simbolių, galime naudoti skip()metodą. Pavyzdžiui,

 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(); ) ) ) 

Rezultatas

 Duomenys praleidus 5 simbolius: yra teksto eilutė failo viduje. 

Ankstesniame pavyzdyje mes naudojome skip()metodą, norėdami praleisti 5 simbolius iš failų skaitytuvo. Taigi, personažai 'T', 'h', 'i', 's'ir ' 'yra praleidžiami nuo pradinio failo.

uždaryti () metodas

Norėdami uždaryti buferinį skaitytuvą, galime naudoti close()metodą. Iškvietus close()metodą, negalime naudoti skaitytuvo duomenims nuskaityti.

Kiti „BufferedReader“ metodai

Metodas apibūdinimas
ready() patikrina, ar failų skaitytuvas yra paruoštas skaityti
mark() pažymėkite skaitytuvo vietą, iki kurios duomenys buvo perskaityti
reset() grąžina valdiklį į skaitytojo tašką, kuriame buvo nustatytas ženklas

Norėdami sužinoti daugiau, apsilankykite „Java BufferedReader“ (oficiali „Java“ dokumentacija).

Įdomios straipsniai...