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>