Nolasa tekstu no rakstzīmju ievades straumes, buferējot rakstzīmes, lai nodrošinātu efektīvu rakstzīmju, masīvu un rindu lasīšanu. Var norādīt bufera izmēru vai izmantot noklusējuma izmēru. Noklusējums ir pietiekami liels lielākajai daļai mērķu. Parasti katrs lasītāja veikts lasīšanas pieprasījums izraisa atbilstošu rakstzīmju vai baitu straumes lasīšanas pieprasījumu. Tāpēc ir ieteicams ietīt BufferedReader ap jebkuru lasītāju, kura lasīšanas () darbības var būt dārgas, piemēram, FileReaders un InputStreamReaders. Programmas, kas teksta ievadei izmanto DataInputStreams, var lokalizēt, katru nomainot DataInputStream ar atbilstošu BufferedReader .
BufferedReader klases konstruktori
| Konstruktors | Darbība veikta |
|---|---|
| Buferētais lasītājs (iekšējais lasītājs) | Izveido buferizācijas rakstzīmju ievades straumi, kas izmanto noklusējuma lieluma ievades buferi |
| BufferedReader (lasītājs iekšā, int sz) | Izveido buferizācijas rakstzīmju ievades straumi, kas izmanto norādītā izmēra ievades buferi. |
BufferedReader klases metodes
| Metodes nosaukums | Darbība |
|---|---|
| aizvērt () | Aizver straumi un atbrīvo visus ar to saistītos sistēmas resursus. Kad straume ir aizvērta, tālāk lasīt(), ready(), mark(), atiestatīt() vai skip() izsaukumus radīs IOException. Iepriekš slēgtas straumes aizvēršanai nav nekādas ietekmes. |
| atzīme () | Atzīmē pašreizējo pozīciju straumē. Turpmākie izsaukumi uz reset() mēģinās pārvietot straumi uz šo punktu. |
| atzīmēts atbalstīts() | Norāda, vai šī straume atbalsta darbību mark(), ko tā arī dara. |
| lasīt () | Nolasa vienu rakstzīmi. |
| lasīt(char[] cbuf, int off, int len) | Nolasa rakstzīmes masīva daļā. Šī metode realizē atbilstošās Reader klases lasīšanas metodes vispārīgo līgumu. Papildu ērtībai tas mēģina nolasīt pēc iespējas vairāk rakstzīmju, atkārtoti izsaucot pamatā esošās straumes lasīšanas metodi. |
| readLine() | Nolasa teksta rindiņu. Tiek uzskatīts, ka rindu beidz rindas padeve (' '), karieta atgriešana (' ') vai karieta atgriešana, kam tūlīt seko rindas padeve. |
| gatavs () | Norāda, vai šī straume ir gatava lasīšanai. |
| atiestatīt () | Atiestata straumi uz jaunāko atzīmi. |
| izlaist (garš) | Izlaiž rakstzīmes. |
Īstenošana: Saturs failā ir šāds:
This is first line this is second line>
Piemērs
saistītais saraksts
Java
java ilgums
kur atrodas klēpjdatora tastatūras ievietošanas taustiņš
// 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());> >}> >}> >}> }> |
>
>
konvertēt nfa uz dfa
Izvade:
mark() method is supported first line this is second line This is>