logo

Java.io.BufferedReader-klass i Java

Läser text från en teckeninmatningsström, buffrar tecken för att ge effektiv läsning av tecken, matriser och linjer. Buffertstorleken kan anges, eller så kan standardstorleken användas. Standarden är tillräckligt stor för de flesta ändamål. I allmänhet orsakar varje läsbegäran som görs av en läsare att en motsvarande läsbegäran görs av det underliggande tecknet eller byteströmmen. Det är därför tillrådligt att linda en BufferedReader runt alla Reader vars read() operationer kan vara kostsamma, såsom FileReaders och InputStreamReaders. Program som använder DataInputStreams för textinmatning kan lokaliseras genom att ersätta varje DataInputStream med en lämplig Bufferad Reader .

Konstruktörer av BufferedReader Class

Konstruktör Åtgärd utförd
BufferedReader(Reader in) Skapar en buffrande teckeninmatningsström som använder en indatabuffert i standardstorlek
BufferedReader(Reader in, int sz) Skapar en buffrande teckeninmatningsström som använder en indatabuffert av angiven storlek.

Metoder för BufferedReader Class

Metodnamn Handling
stänga() Stänger strömmen och släpper alla systemresurser som är associerade med den. När strömmen har stängts kommer ytterligare read(), ready(), mark(), reset() eller skip()-anrop att skapa ett IOException. Att stänga en tidigare stängd ström har ingen effekt.
mark() Markerar den aktuella positionen i strömmen. Efterföljande anrop till reset() kommer att försöka flytta om strömmen till denna punkt.
markSupported() Berättar om denna ström stöder mark()-operationen, vilket den gör.
läsa() Läser ett enda tecken.
read(char[] cbuf, int off, int len) Läser tecken i en del av en array. Denna metod implementerar det allmänna kontraktet för motsvarande läsmetod för Reader-klassen. Som en ytterligare bekvämlighet försöker den läsa så många tecken som möjligt genom att upprepade gånger anropa läsmetoden för den underliggande strömmen.
readLine() Läser en textrad. En linje anses vara avslutad av någon av en radmatning (' '), en vagnretur (' ') eller en vagnretur följt omedelbart av en radmatning.
redo() Talar om om denna stream är redo att läsas.
återställa() Återställer strömmen till det senaste märket.
hoppa över (lång) Hoppa över tecken.

Genomförande: Innehållet i filen är som följer:

This is first line this is second line>

Exempel



typer av tester

Java


java-ingång



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

Freddie Mercury

>

ms word snabbåtkomstverktygsfält
>

Produktion:

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