CodeGym /Kurs /Java kjerne /BufferedReader/InputSreamReader

BufferedReader/InputSreamReader

Java kjerne
Nivå , Lekse
Tilgjengelig

"Hei, Amigo! Du har brukt klassene BufferedReader og InputStreamReader i lang tid. La oss nå utforske hva de faktisk gjør."

InputStreamReader - klassen er en klassisk adapter fra InputStream- grensesnittet til Reader- grensesnittet. Her er det heller ikke noe å legge til.

Men kort sagt, dette er hva som skjer. Når du ber om (les) neste tegn fra et InputStreamReader- objekt, leser det noen få byte fra InputStream sendt til konstruktøren, og returnerer dem som ett tegn.

Men Reader er ikke det mest praktiske objektet å jobbe med. Ofte trenger vi ikke å lese alle tegnene som er skrevet inn av brukeren samtidig, men heller å dele disse tegnene i linjer.

"Men Reader-klassen har en lesemetode (CharBuffer s). Kan vi ikke bruke den?"

"Denne metoden leser data i biter på størrelse med bufferen og plasserer dem i CharBuffer-objektet."

Tekst er vanligvis delt inn i linjer. Så read(CharBuffer s)-metoden kan lese flere linjer samtidig. Hvis vi trenger å lese tekst nøyaktig til slutten av en linje (dvs. alle tegnene i en linje til et nylinjetegn), ville det være bedre å se etter noe annet. Og det finnes en alternativ metode. I BufferedReader- klassen.

BufferedReader - klassen, som er en praktisk struktur på toppen av Reader, har en veldig praktisk metode: readLine() . Denne metoden lar oss lese hele tekstlinjer fra en leser på en gang. Når du kaller readLine i koden din, leser den tegn fra Reader-objektet til den møter et nylinjetegn. Når nylinjetegnet er påtruffet, limer metoden disse tegnene sammen i en enkelt streng og returnerer den.

"Jeg har brukt dette regelmessig, men jeg visste ikke hvordan det fungerer. Nå vet jeg det. Takk, Kim."

Kommentarer
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION