"Szia, Amigo! Régóta használja a BufferedReader és az InputStreamReader osztályokat. Most nézzük meg, mit is csinálnak valójában."

Az InputStreamReader osztály egy klasszikus adapter az InputStream felületről a Reader felületre. Itt sincs mit hozzáfűzni.

De röviden ez történik. Amikor lekéri (beolvassa) a következő karaktert egy InputStreamReader objektumtól, az beolvas néhány bájtot a konstruktornak átadott InputStreamből , és egy karakterként adja vissza azokat.

De a Reader nem a legkényelmesebb munkaeszköz. Gyakran nem arra van szükségünk, hogy a felhasználó által beírt összes karaktert egyszerre olvassuk el, hanem ezeket a karaktereket sorokra bontsuk.

"De a Reader osztálynak van egy olvasási (CharBuffer s) metódusa. Nem használhatjuk?"

"Ez a módszer a puffer méretű darabokban olvassa be az adatokat, és a CharBuffer objektumban helyezi el."

A szöveget általában sorokra osztják. Tehát a read(CharBuffer s) metódus több sort is beolvashat egyszerre. Ha a szöveget pontosan egy sor végéig kell olvasnunk (vagyis a sor összes karakterét egy újsor karakterig), akkor jobb, ha valami mást keresünk. És létezik egy alternatív módszer. A BufferedReader osztályban.

A BufferedReader osztálynak, amely egy kényelmes szerkezet a Reader tetején, van egy nagyon kényelmes módszere: readLine() . Ezzel a módszerrel egyszerre egész sornyi szöveget olvashatunk egy olvasóból. Amikor a kódban meghívja a readLine-t, az addig olvas karaktereket a Reader objektumból, amíg újsor karaktert nem talál. Ha találkozik az újsor karakterrel, a metódus ezeket a karaktereket egyetlen karakterláncba ragasztja, és visszaadja.

"Rendszeresen használtam, de nem tudtam, hogyan működik. Most már tudom. Köszönöm, Kim."