Oleh : Reza Ervani
بسم الله الرحمن الرحيم
Reader
dan Writer
bekerja seperti InputStream
dan OutputStream
dengan pengecualian bahwa Reader
dan Writer
adalah berbasis karakter. Mereka ditujukan untuk membaca dan menulis teks. Sementara InputStream
danOutputStream
adalah berbasis byte.
Reader
Reader
adalah class daar untuk seluruh Reader
‘s di API Java IO. Subclass termasuk BufferedReader
,PushbackReader
dll.
Berikut contoh sederhananya :
Reader reader = new FileReader(); int data = reader.read(); while(data != -1){ char dataChar = (char) data; data = reader.read(); }
Perhatikan, jikalau InputStream
mengeluarkan satu byte dalam satu waktu, yang berarti nilai antara 0 dan 255 (atau -1 jika stream tidak lagi memiliki data), Reader
mengeluarkan sebuah char
dalam satu waktu, yang berarti nilai antara 0 dan 65535 (atau -1 jika stream tidak lagi memiliki data). Ini tidak selalu berart bahwa Reader
membaca dua byte per satu waktu dari sumber dimana dia terhubung. Dia dapat membat satu atau lebih byte dalam satu waktu, bergantung pada enkoding yang ada di teks yang dia baca.
A Reader
dapat dikombinasikan dengan suatu InputStream
. Jika kita memiliki sebuah InputStream
dan ingin membaca karakter darinya, kita dapat mengurungnya di dalam InputStreamReader
. Lewatkan InputStream
ke konstruktor dari InputStreamReader
seperti ini :
Reader reader = new InputStreamReader(inputStream);
Di dalam konstruktor, kita juga dapat menspesifikasikan karakter apa yang diset menggunakan dekoding teks dll. Lebih lanjut tentang ini kita bahas di InputStreamReader
.
Leave a Reply