Java BufferedReader (med eksempler)

I denne opplæringen vil vi lære om Java BufferedReader og dens metoder ved hjelp av eksempler.

Den BufferedReaderklassen av java.iopakken kan brukes med andre lesere til å lese data (i tegn) mer effektivt.

Det utvider den abstrakte klassen Reader.

Arbeid med BufferedReader

Den BufferedReaderopprettholder en intern buffer på 8192 tegn .

Under leseoperasjonen leses BufferedReaderen mengde tegn fra disken og lagres i den interne bufferen. Og fra den interne bufferen blir tegn lest individuelt.

Derfor reduseres antall kommunikasjoner til disken. Dette er grunnen til at det er raskere å lese tegn BufferedReader.

Lag en BufferedReader

For å opprette en BufferedReader, må vi importere java.io.BuferedReaderpakken først. Når vi har importert pakken, kan du lage leseren her.

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

I eksemplet ovenfor har vi opprettet en BufferedReadernavngitt buffer med den FileReadernavngitte filen.

Her har den interne bufferen BufferedReadertil standardstørrelsen 8192 tegn. Vi kan imidlertid også spesifisere størrelsen på den interne bufferen.

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

Bufferen vil hjelpe deg med å lese tegn fra filene raskere.

Metoder for BufferedReader

Den BufferedReaderklasse gir implementeringer for forskjellige metoder som er tilstede i Reader.

les () Metode

  • read() - leser et enkelt tegn fra den interne bufferen til leseren
  • read(char() array) - leser tegnene fra leseren og lagrer i den angitte matrisen
  • read(char() array, int start, int length) - leser antall tegn som er like lange fra leseren og lagrer i den angitte matrisen fra posisjonsstart

Anta for eksempel at vi har en fil som heter input.txt med følgende innhold.

 This is a line of text inside the file. 

La oss prøve å lese filen ved hjelp av 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(); ) ) ) 

Produksjon

 Data i filen: Dette er en tekstlinje i filen. 

I eksemplet ovenfor har vi opprettet en bufret leser med navnet input. Den bufrede leseren er koblet til filen input.txt .

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

Her har vi brukt read()metoden til å lese en rekke tegn fra den interne bufferen til den bufrede leseren.

skip () Metode

For å forkaste og hoppe over det angitte antall tegn, kan vi bruke skip()metoden. For eksempel,

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

Produksjon

 Data etter å ha hoppet over 5 tegn: er en tekstlinje i filen. 

I eksemplet ovenfor har vi brukt skip()metoden til å hoppe over 5 tegn fra filleseren. Derfor, tegnene 'T', 'h', 'i', 's'og ' 'er hoppet over fra den originale filen.

lukk () Metode

For å lukke den bufrede leseren kan vi bruke close()metoden. Når close()metoden er kalt, kan vi ikke bruke leseren til å lese dataene.

Andre metoder for BufferedReader

Metode Beskrivelse
ready() sjekker om filleseren er klar til å bli lest
mark() merk posisjonen i leseren som data er lest opp til
reset() returnerer kontrollen til det punktet i leseren der merket ble satt

For å lære mer, besøk Java BufferedReader (offisiell Java-dokumentasjon).

Interessante artikler...