Java BufferedReader (ar piemēriem)

Šajā apmācībā mēs ar piemēru palīdzību uzzināsim par Java BufferedReader un tā metodēm.

BufferedReaderNo klases java.iopaketē var lietot kopā ar citiem lasītājiem lasīt datus (rakstzīmes) efektīvāk.

Tas paplašina abstrakto klasi Reader.

BufferedReader darbs

Tiek BufferedReaderuzturēts 8192 rakstzīmju iekšējais buferis .

Veicot lasīšanas darbību BufferedReader, no diska tiek nolasīta rakstzīmju daļa un saglabāta iekšējā buferī. Un no iekšējā bufera rakstzīmes tiek nolasītas atsevišķi.

Tādējādi tiek samazināts sakaru skaits uz disku. Tāpēc rakstzīmju lasīšana ir ātrāka BufferedReader.

Izveidojiet BufferedReader

Lai izveidotu a BufferedReader, mums vispirms ir jāimportē java.io.BuferedReaderpakete. Kad pakotne ir importēta, lasītāju var izveidot šādi.

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

Iepriekš minētajā piemērā mēs esam izveidojuši BufferedReadernosauktu buferi ar FileReadernosaukto failu.

Šeit iekšējam buferim BufferedReaderir noklusējuma lielums 8192 rakstzīmes. Tomēr mēs varam norādīt arī iekšējā bufera lielumu.

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

Buferis palīdzēs ātrāk nolasīt rakstzīmes no failiem.

BufferedReader metodes

BufferedReaderKlase nodrošina implementācijas dažādām metodēm klāt Reader.

lasīt () Metode

  • read() - nolasa vienu rakstzīmi no lasītāja iekšējā bufera
  • read(char() array) - nolasa rakstzīmes no lasītāja un saglabā norādītajā masīvā
  • read(char() array, int start, int length) - nolasa no lasītāja rakstzīmju skaitu, kas vienāds ar garumu, un glabā norādītajā masīvā, sākot ar pozīcijas sākumu

Piemēram, pieņemsim, ka mums ir fails ar nosaukumu input.txt ar šādu saturu.

 This is a line of text inside the file. 

Mēģināsim lasīt failu, izmantojot 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(); ) ) ) 

Rezultāts

 Dati failā: šī ir teksta rindiņa faila iekšpusē. 

Iepriekš minētajā piemērā mēs esam izveidojuši buferētu lasītāju ar nosaukumu input. Buferētais lasītājs ir saistīts ar failu input.txt .

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

Šeit mēs izmantojām read()metodi, lai nolasītu rakstzīmju masīvu no buferētā lasītāja iekšējā bufera.

izlaist () metode

Lai izmestu un izlaistu norādīto rakstzīmju skaitu, mēs varam izmantot skip()metodi. Piemēram,

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

Rezultāts

 Dati pēc 5 rakstzīmju izlaišanas: ir teksta rindiņa faila iekšpusē. 

Iepriekš minētajā piemērā mēs izmantojām skip()metodi, lai izlaistu 5 rakstzīmes no failu lasītāja. Tādējādi, rakstzīmes 'T', 'h', 'i', 's'un ' 'ir izlaidis no sākotnējā faila.

aizvērt () metode

Lai aizvērtu buferēto lasītāju, mēs varam izmantot close()metodi. Kad close()metode ir izsaukta, mēs nevaram izmantot lasītāju datu lasīšanai.

Citas BufferedReader metodes

Metode Apraksts
ready() pārbauda, ​​vai failu lasītājs ir gatavs lasīšanai
mark() atzīmējiet lasītāja vietu, līdz kurai dati ir nolasīti
reset() atgriež vadību lasītājā, kur zīme tika uzstādīta

Lai uzzinātu vairāk, apmeklējiet Java BufferedReader (oficiālā Java dokumentācija).

Interesanti raksti...