"Hello, Amigo! Matagal mo nang ginagamit ang mga klase ng BufferedReader at InputStreamReader . Ngayon, tuklasin natin kung ano talaga ang ginagawa nila."

Ang klase ng InputStreamReader ay isang klasikong adaptor mula sa interface ng InputStream hanggang sa interface ng Reader . Wala na rin idadagdag dito.

Ngunit sa madaling salita, ito ang nangyayari. Kapag humiling ka (basahin) ang susunod na character mula sa isang InputStreamReader object, nagbabasa ito ng ilang byte mula sa InputStream na ipinasa sa constructor, at ibinabalik ang mga ito bilang isang char.

Ngunit ang Reader ay hindi ang pinaka-maginhawang bagay upang magtrabaho kasama. Kadalasan ang kailangan natin ay hindi basahin ang lahat ng mga character na ipinasok ng user nang sabay-sabay, ngunit sa halip ay hatiin ang mga character na ito sa mga linya.

"Ngunit ang Reader class ay may read (CharBuffer s) method. Hindi ba natin magagamit iyon?"

"Ang pamamaraang ito ay nagbabasa ng data sa mga tipak ng laki ng buffer at inilalagay ang mga ito sa bagay na CharBuffer."

Ang teksto ay karaniwang nahahati sa mga linya. Kaya ang read(CharBuffer s) na paraan ay maaaring magbasa ng ilang linya nang sabay-sabay. Kung kailangan nating basahin ang teksto nang eksakto hanggang sa dulo ng isang linya (ibig sabihin, lahat ng mga character sa isang linya hanggang sa isang bagong linya na character), mas mahusay na maghanap ng iba pa. At mayroong isang alternatibong pamamaraan. Sa klase ng BufferedReader .

Ang klase ng BufferedReader , na isang maginhawang istraktura sa ibabaw ng Reader, ay may isang napaka-maginhawang paraan: readLine() . Ang pamamaraang ito ay nagbibigay-daan sa amin na basahin ang buong linya ng teksto mula sa isang Reader nang sabay-sabay. Kapag tinawagan mo ang readLine sa iyong code, nagbabasa ito ng mga character mula sa object ng Reader hanggang sa makatagpo ito ng isang newline na character. Kapag na-encounter na ang newline na character, idinidikit ng pamamaraan ang mga character na ito sa isang string at ibabalik ito.

"I've used this regularly, but I didn't know how it works. Ngayon alam ko na. Salamat, Kim."