logo

Java.io.BufferedReader-klasse in Java

Leest tekst uit een tekeninvoerstroom, waarbij tekens worden gebufferd om een ​​efficiënt lezen van tekens, arrays en regels mogelijk te maken. De buffergrootte kan worden gespecificeerd, of de standaardgrootte kan worden gebruikt. De standaardwaarde is groot genoeg voor de meeste doeleinden. In het algemeen zorgt elk leesverzoek van een Reader ervoor dat een corresponderend leesverzoek wordt gedaan van de onderliggende teken- of bytestroom. Het is daarom raadzaam om een ​​BufferedReader rond elke Reader te plaatsen waarvan de read()-bewerkingen kostbaar kunnen zijn, zoals FileReaders en InputStreamReaders. Programma's die DataInputStreams gebruiken voor tekstinvoer kunnen worden gelokaliseerd door ze allemaal te vervangen DataInputStream met een passend Gebufferde Reader .

Constructeurs van de BufferedReader-klasse

Constructeur Actie uitgevoerd
Gebufferde Reader(Lezer in) Creëert een bufferende tekeninvoerstroom die gebruikmaakt van een invoerbuffer van standaardgrootte
BufferedReader(Lezer in, int sz) Creëert een bufferende tekeninvoerstroom die gebruikmaakt van een invoerbuffer van de opgegeven grootte.

Methoden van de BufferedReader-klasse

Methodenaam Actie
dichtbij() Sluit de stream en geeft alle daaraan gekoppelde systeembronnen vrij. Zodra de stream is gesloten, zullen verdere aanroepen van read(), ready(), mark(), reset() of skip() een IOException genereren. Het sluiten van een voorheen gesloten stream heeft geen effect.
markering() Markeert de huidige positie in de stroom. Volgende aanroepen van reset() zullen proberen de stream naar dit punt te verplaatsen.
markOndersteund() Geeft aan of deze stream de mark()-bewerking ondersteunt, wat ook het geval is.
lezen() Leest een enkel teken.
lezen(char[] cbuf, int uit, int len) Leest tekens in een deel van een array. Deze methode implementeert het algemene contract van de overeenkomstige leesmethode van de klasse Reader. Voor extra gemak probeert het zoveel mogelijk tekens te lezen door herhaaldelijk de leesmethode van de onderliggende stroom aan te roepen.
Lees regel() Leest een regel tekst. Een regel wordt geacht te zijn beëindigd door een regelterugloop (‘ ’), een regeleinde (‘ ’) of een regeleinde onmiddellijk gevolgd door een regeleinde.
klaar() Geeft aan of deze stream klaar is om gelezen te worden.
opnieuw instellen() Reset de stream naar de meest recente markering.
overslaan (lang) Slaat tekens over.

Implementatie: De inhoud in het bestand is als volgt:



This is first line this is second line>

Voorbeeld

Java-gebruikersinvoer

Java




machine learning-modellen





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

vergelijkbaar Java

>

Scherpe hoek
>

Uitgang:

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