Java.io.BufferedReader-klasse i Java

Læser tekst fra en tegninputstrøm, buffer tegn for at sikre effektiv læsning af tegn, arrays og linjer. Bufferstørrelsen kan angives, eller standardstørrelsen kan bruges. Standarden er stor nok til de fleste formål. Generelt bevirker hver læseanmodning foretaget af en Læser, at der foretages en tilsvarende læseanmodning af det underliggende tegn eller bytestrøm. Det er derfor tilrådeligt at pakke en BufferedReader rundt om enhver Reader, hvis read() operationer kan være dyre, såsom FileReaders og InputStreamReaders. Programmer, der bruger DataInputStreams til tekstinput, kan lokaliseres ved at erstatte hver DataInputStream med en passende BufferedReader .

Konstruktører af BufferedReader Class

Konstruktør Handling udført
BufferedReader(Reader in) Opretter en buffer-tegninputstrøm, der bruger en inputbuffer i standardstørrelse
BufferedReader(Reader in, int sz) Opretter en buffertegninputstrøm, der bruger en inputbuffer af den angivne størrelse.

Metoder til BufferedReader Class

Metode navn Handling
tæt() Lukker strømmen og frigiver alle systemressourcer, der er knyttet til den. Når strømmen er blevet lukket, vil yderligere read(), ready(), mark(), reset() eller skip() påkald kaste en IOException. Lukning af et tidligere lukket vandløb har ingen effekt.
mærke() Markerer den aktuelle position i strømmen. Efterfølgende kald til reset() vil forsøge at flytte strømmen til dette punkt.
markSupported() Fortæller om denne stream understøtter mark()-operationen, hvilket den gør.
Læs() Læser et enkelt tegn.
read(char[] cbuf, int off, int len) Læser tegn ind i en del af et array. Denne metode implementerer den generelle kontrakt for den tilsvarende læsemetode i Reader-klassen. Som en ekstra bekvemmelighed forsøger den at læse så mange tegn som muligt ved gentagne gange at påkalde læsemetoden for den underliggende strøm.
readLine() Læser en tekstlinje. En linje anses for at være afsluttet af en hvilken som helst af en linjefeed (' '), en vognretur (' ') eller en vognretur efterfulgt umiddelbart af et linjeskift.
parat() Fortæller om denne stream er klar til at blive læst.
Nulstil() Nulstiller streamen til det seneste mærke.
spring over (lang) Springer tegn over.

Implementering: Indholdet i filen er som følger:

This is first line this is second line 

Eksempel

Java




// Java Program to Illustrate BufferedReader Class> // Via Its Methods> > // Importing required classes> import> java.io.BufferedReader;> import> java.io.FileReader;> import> java.io.IOException;> > // Class> class> GFG {> > > // Main driver method> > public> static> void> main(String[] args)> > throws> IOException> > {> > > // Creating object of FileReader and BufferedReader> > // class> > FileReader fr => new> FileReader(> 'file.txt'> );> > BufferedReader br => new> BufferedReader(fr);> > > char> c[] => new> char> [> 20> ];> > > // Illustrating markSupported() method> > if> (br.markSupported()) {> > > // Print statement> > System.out.println(> > 'mark() method is supported'> );> > > // Illustrating mark method> > br.mark(> 100> );> > }> > > // File Contents is as follows:> > // This is first line> > // this is second line> > > // Skipping 8 characters> > br.skip(> 8> );> > > // Illustrating ready() method> > if> (br.ready()) {> > > // Illustrating readLine() method> > System.out.println(br.readLine());> > > // Illustrating read(char c[],int off,int len)> > br.read(c);> > > for> (> int> i => 0> ; i <> 20> ; i++) {> > System.out.print(c[i]);> > }> > > System.out.println();> > > // Illustrating reset() method> > br.reset();> > for> (> int> i => 0> ; i <> 8> ; i++) {> > > // Illustrating read() method> > System.out.print((> char> )br.read());> > }> > }> > }> }>

Produktion:

mark() method is supported first line this is second line This is