Llegeix text d'un flux d'entrada de caràcters, guarda els caràcters en memòria intermèdia per tal de proporcionar una lectura eficient de caràcters, matrius i línies. Es pot especificar la mida de la memòria intermèdia o es pot utilitzar la mida predeterminada. El valor predeterminat és prou gran per a la majoria de propòsits. En general, cada sol·licitud de lectura feta per un lector fa que es faci una sol·licitud de lectura corresponent del caràcter o flux de bytes subjacent. Per tant, és recomanable embolicar un BufferedReader al voltant de qualsevol lector les operacions de lectura () del qual poden ser costoses, com ara FileReaders i InputStreamReaders. Els programes que utilitzen DataInputStreams per a l'entrada de text es poden localitzar substituint cadascun DataInputStream amb un adequat BufferedReader .
Constructors de la classe BufferedReader
| Constructor | Acció realitzada |
|---|---|
| BufferedReader (Lector a l'entrada) | Crea una memòria intermèdia d'entrada de caràcters que utilitza una memòria intermèdia d'entrada de mida predeterminada |
| BufferedReader (Lector a, int sz) | Crea una memòria intermèdia d'entrada de caràcters que utilitza una memòria intermèdia d'entrada de la mida especificada. |
Mètodes de la classe BufferedReader
| Nom del mètode | Acció |
|---|---|
| Tanca() | Tanca el flux i allibera tots els recursos del sistema associats amb ell. Un cop tancat el flux, més invocacions read(), ready(), mark(), reset() o skip() produiran una IOException. Tancar un flux tancat anteriorment no té cap efecte. |
| senyal() | Marca la posició actual al flux. Les trucades posteriors a reset() intentaran reposicionar el flux fins a aquest punt. |
| markSupported() | Indica si aquest flux admet l'operació mark(), que fa. |
| llegir () | Llegeix un sol caràcter. |
| llegir(char[] cbuf, int apagat, int len) | Llegeix caràcters en una part d'una matriu. Aquest mètode implementa el contracte general del mètode de lectura corresponent de la classe Reader. Com a comoditat addicional, intenta llegir tants caràcters com sigui possible invocant repetidament el mètode de lectura del flux subjacent. |
| readLine() | Llegeix una línia de text. Es considera que una línia està acabada per qualsevol d'un salt de línia (' '), un retorn de carro (' ') o un retorn de carro seguit immediatament d'un avançament de línia. |
| llest () | Indica si aquest flux està llest per ser llegit. |
| restablir () | Restableix el flux a la marca més recent. |
| saltar (llarg) | Omet personatges. |
Implementació: El contingut dins del fitxer és el següent:
This is first line this is second line>
Exemple
munt d'ordenació
Java
integer compareto 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());> >}> >}> >}> }> |
>
barra d'eines d'accés ràpid de ms word
>
Sortida:
registre numpy
mark() method is supported first line this is second line This is>