Java BufferedReader (med eksempler)

I denne vejledning lærer vi om Java BufferedReader og dens metoder ved hjælp af eksempler.

Den BufferedReaderklasse af java.iopakken kan bruges med andre læsere til at læse data (i tegn) mere effektivt.

Det udvider den abstrakte klasse Reader.

Arbejde med BufferedReader

Den BufferedReaderopretholder en intern buffer på 8192 tegn .

Under læsning i læses BufferedReaderet stykke tegn fra disken og lagres i den interne buffer. Og fra den interne buffer læses tegn individuelt.

Derfor reduceres antallet af kommunikation til disken. Dette er grunden til at læse tegn er hurtigere at bruge BufferedReader.

Opret en BufferedReader

For at oprette en BufferedReaderskal vi først importere java.io.BuferedReaderpakken. Når vi først har importeret pakken, kan du oprette læseren her.

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

I ovenstående eksempel har vi oprettet en BufferedReadernavngivet buffer med den FileReadernavngivne fil.

Her har den interne buffer i BufferedReaderstandardstørrelsen 8192 tegn. Vi kan dog også specificere størrelsen på den interne buffer.

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

Bufferen hjælper med at læse tegn fra filerne hurtigere.

Metoder til BufferedReader

Den BufferedReaderklasse giver implementeringer for forskellige metoder til stede i Reader.

læs () Metode

  • read() - læser et enkelt tegn fra den interne buffer i læseren
  • read(char() array) - læser tegnene fra læseren og gemmer i den angivne matrix
  • read(char() array, int start, int length) - læser antallet af tegn svarende til længden fra læseren og gemmer i det angivne array startende fra positionens start

Antag for eksempel, at vi har en fil med navnet input.txt med følgende indhold.

 This is a line of text inside the file. 

Lad os prøve at læse filen ved hjælp af 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(); ) ) ) 

Produktion

 Data i filen: Dette er en tekstlinje inde i filen. 

I ovenstående eksempel har vi oprettet en bufferet læser med navnet input. Den bufrede læser er knyttet til input.txt- filen.

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

Her har vi brugt read()metoden til at læse en række tegn fra den bufferbufferlæsers interne buffer.

spring () Metode

For at kassere og springe det angivne antal tegn over kan vi bruge 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(); ) ) ) 

Produktion

 Data efter at have sprunget over 5 tegn: er en tekstlinje inde i filen. 

I ovenstående eksempel har vi brugt skip()metoden til at springe over 5 tegn fra fillæseren. Derfor de tegn 'T', 'h', 'i', 's'og ' 'er sprunget fra den oprindelige fil.

close () Metode

For at lukke den bufrede læser kan vi bruge close()metoden. Når close()metoden er kaldt, kan vi ikke bruge læseren til at læse dataene.

Andre metoder til BufferedReader

Metode Beskrivelse
ready() kontrollerer, om fillæseren er klar til at blive læst
mark() markere positionen i læseren, op til hvilken data er læst
reset() returnerer kontrollen til det punkt i læseren, hvor mærket blev sat

For at lære mere, besøg Java BufferedReader (officiel Java-dokumentation).

Interessante artikler...