BufferedReader Java-s: kuidas teksti lugeda sisendvoost



Selles artiklis käsitletakse klassis Reader asuvat Java puhverdatud lugerit koos erinevate konstruktorite ja meetodite ning kirjeldustega koos näidetega.

Java pakub mitmeid mehhanisme a-st lugemiseks faili . Üks oluline klass, mis aitab seda toimingut teha, on Puhverdatud lugeja . Niisiis, see artikkel puhverdatud lugeja kohta aitab teil puhverdaja klassi tundide mõistmisel koos näidetega. Selles blogis käsitletakse järgmisi teemasid:

Mis on Java-s BufferedReader?

BufferedReader on a Java klass mis loeb teksti sisendvoost. See puhverdab tähemärki, et see saaks märke tõhusalt lugeda, massiivid jne. See pärib lugejaklassi ja muudab koodi tõhusaks, kuna saame andmeid read-real lugeda read-real () . Java-klassis BufferedReader töötades peame meeles pidama mõningaid näpunäiteid.





  • Võimalik, et peame määrama puhvri suuruse, kuigi vaikimisi on see mis tahes eesmärgil piisavalt suur.
  • Iga lugeja vastava päringu korral tehakse lugemistaotlus ka selle aluseks olevast märgist.
  • Alati on soovitatav pakkida BufferedReader klass ümber kõigi lugejate, näiteks InputStreamReaders.
  • Programmide jaoks, mis kasutavad tekstisisestuseks DataInputaStreamsi, asendab DataInputStreami selle lokaliseerimiseks sobiv puhverdatud lugeja.

BufferedReaderi klassi deklaratsioon

avalik klass BufferedReader laiendab Readerit

Java puhverdatud lugejate konstruktorid

Ehitaja Kirjeldus

BufferedReader (lugeja lugeja)

See konstruktor loob puhverdava märgi-sisendi voo, mis töötab vaikimisi sisendpuhvris.



BufferedReader (lugeja lugeja, int suurus)

c ++ goto silt

Märgi-sisendvoo puhverdamiseks kasutatakse sisendpuhvri jaoks määratud suurust.

Meetodid ja kirjeldus

Järgnevad meetodid koos kirjeldusega, mis meil on klassi Java BufferedReader jaoks.



Meetod Kirjeldus

int loe ()

Loeb ühte märki

String readLine ()

See loeb tekstirida

tühine lähtestamine ()

Muudab voo positsiooni, kus märgistusmeetodit viimati kutsuti

int loe (char [] cb, int off, int len)

Loeb tähemärki massiivi osas

boolean markSupported ()

See testib lähtevoo tuge lähtestamise ja märkimise meetodil

boolean valmis ()

See kontrollib, kas sisendvoog on lugemiseks valmis

pikk vahelejätmine (pikk n)

jätab tegelased vahele

tühine sulge ()

See sulgeb sisendvoo

void mark (int readAheadLimit)

Kasutatakse voos praeguse asukoha märkimiseks

Näide:

import java.io. * public class Näide {public static void main (String args [] viskab erandi) {FileReader f = new FileReader ('filelocation') BufferedReader b = new BufferedReader (f) int i while ((i = b. loe ())! = -1) {System.out.println ((char) i)} b.close () f.close ()

Skanneri ja puhverdatud lugeja erinevus

Puhverdatud lugeja Skanner

Sünkroonne ja seda tuleks kasutada mitme lõimega

Pole sünkroonne ja seda ei kasutata mitme lõimega

Puhvermälu on suurem

Puhvermälu on väiksem

Kiirem kui skanner

Aeglasem, kuna see sisendab sisestatud andmeid

Nextline () meetodiga pole seotud ebaselgust

Nextline () meetodiga on palju probleeme.

Kasutab puhverdamist märkide lugemiseks sisendi voost

See on lihtne tekstiskanner, mis sõelub primitiivseid tüüpe ja stringe

Puhverdatud lugeja JDK7 näites

import java.io. * avalik klass Näide {public static void main (String [] args) {try (BufferedReader b = new BufferedReader (new fileReader ('filename')))) {String s while ((s = b.readLine ( ))! = null) {System.out.println (s)}} saak (IOException e) {e.printStackTrace ()}}}

Andmete lugemine konsoolilt Java-s InputStreamReaderi ja BufferedReaderi järgi

import java.io. * public class Näide {public static void main (String args [] viskab erandi) {InputStreamReader i = new InputStreamReader (system.in) BufferedReader b = new BufferedReader (i) System.out.println ('Sisesta kursus ') Stringkursus = b.readLine () System.out.pritln (' Edureka '+ kursus)}}
 Väljund: Sisestage kursus Java Edureka Java

Andmete lugemine konsoolist, kuni kasutaja kirjutab

import java.io. * public class Näide {public static void main (String args [] viskab erandi) {InputStreamReader i = new InputStreamReader (system.in) BufferedReader b = new BufferedReader (i) string course = '' while (! name .equals ('stop')) {System.out.println ('enter course:') course = b.readLine () System.out.println ('Course is:' + course)} b.close () i. Sulge() } }
 Väljund: sisestage kursus: Kursus on: Java sisestage kursus: Kursus on: stop

See viib meid selle artikli lõppu, kus oleme õppinud, kuidas saame Java-s klassi BufferedReader abil märke sisendi voost lugeda. Loodetavasti on teil selge kõik see, mida teiega selles õpetuses jagati.

Kui leiate, et see artikkel jaotises „Java puhverdatud lugeja” on asjakohane, vaadake järgmist usaldusväärne veebiõppeettevõte, mille võrgustik sisaldab üle 250 000 rahuloleva õppija, levis üle kogu maailma.

kuidas Java-programmist väljuda

Oleme siin, et aidata teid igal sammul oma teekonnal ja koostada õppekava, mis on mõeldud õpilastele ja spetsialistidele, kes soovivad olla Java arendajad. Kursus on loodud selleks, et anda Java-programmeerimisele edukas algus ja õpetada teid nii põhi- kui ka edasijõudnute Java-kontseptsioonide jaoks koos erinevate võimalustega meeldib Talveunerežiim & .

Kui teil tekib küsimusi, esitage julgelt kõik oma küsimused jaotises „Java puhverdatud lugeja“ kommentaaride jaotises ja meie meeskond vastab sellele hea meelega.