Berbagai Jenis InputStream dan
OutputStream
InputStream
Beberapa
kelas turunan dari InputStream dapat dirangkum dalam tabel di
bawah ini :
Kelas
|
Kegunaan
|
Argumen
yang dibutuhkan untuk membuat objek
|
ByteArrayInputStream
|
Menggunakan
buffer pada memori sebagai aliran input
|
Buffer
yang akan digunakan sebagai aliran input
|
StringBufferInputStream
|
Mengubah
string menjadi InputStream
|
Suatu String (di
dalamnya sebenarnya menggunakan StringBuffer)
|
FileInputStream
|
Untuk
membaca informasi dari dalam file
|
String yang berupa nama suatu file, atau objek bertipe File atau FileDescriptor
|
PipedInputStream
|
Menghasilkan
data yang ditulis oleh PipedOutputStream. Mengimplementasi konsep
"piping". Bisa digunakan untuk multi-threading
|
Objek PipedOutputStream
|
SequenceInputStream
|
Menggabungkan
dua atau lebih InputStream menjadi satu InputStream
|
Dua atau
lebih objek bertipe InputStream atau kontainer bertipe Enumeration yang
berisi InputStream yang akan digabungkan
|
FilterInputStream
|
Kelas
abstrak yang merupakan interface dari beberapa kelas bantu untuk menggunakan InputStream lain
|
|
FilterInputStream adalah lapisan di atas InputStream yang berguna untuk memberi landasan
pada kelas-kelas dekorator di atas. Kenapa dekorator? Karena kelas-kelas ini
hanya memberikan fungsionalitas tambahan, akan tetapi tidak mengubah bagaimana
I/O itu sendiri bekerja. Seperti disebutkan sebelumnya, bahwa kelas dasar InputStream dan OutputStream hanya
memiliki metode-metode paling sederhana. Kelas-kelas ini memperbanyak metode
baca/tulis untuk kemudahan pemrograman.
Kelas FilterInputStream sendiri
terdiri dari beberapa jenis, yang bisa dirangkum dalam tabel berikut ini :
Kelas
|
Kegunaan
|
Argumen
yang dibutuhkan untuk membuat objek
|
DataInputStream
|
Digunakan
bersama-sama dengan DataOutputStream sehingga kita bisa menulis tipe
data primitif, kemudian membacanya kembali tanpa harus diformat sendiri
|
InputStream
|
BufferedInputStream
|
Digunakan
untuk menghindari pembacaan langsung dari media secara fisik setiap kali
perintah read() diberikan. Atau dengan kata lain
"gunakan buffer" untuk baca tulis
|
InputStream dengan kemungkinan menentukan besar buffer sendiri
|
LineNumberInputStream
|
Mencatat
nomor baris dalam InputStream. Kita bisa menggunakan perintah getLineNumber() dan setLineNumber(int)
|
InputStream
|
PushBackInputStream
|
Memiliki
satu byte buffer sehingga kita bisa meletakkan kembali karakter yang sudah
diambil (dibaca)
|
InputStream
|
OutputStream
Beberapa
kelas turunan dari OutputStream dapat dirangkum dalam tabel di
bawah ini :
Kelas
|
Kegunaan
|
Argumen
yang dibutuhkan untuk membuat objek
|
ByteArrayOutputStream
|
Membuat
buffer dalam memori. Semua data yang kita kirim akan disimpan di memori ini.
|
Opsional
untuk memberikan besar buffer yang akan disiapkan
|
FileOutputStream
|
Untuk menulis
informasi ke dalam file
|
String yang berupa nama suatu file, atau objek bertipe File atau FileDescriptor
|
PipedOutputStream
|
Informasi
yang kita kirim di aliran output ini akan berakhir pada objek bertipe PipedInputStream.
Mengimplementasi konsep "piping". Bisa digunakan untuk
multi-threading
|
Objek PipedInputStream
|
FilterOutputStream
|
Kelas
abstrak yang merupakan interface dari beberapa kelas bantu untuk menggunakan OutputStream lain.
|
|
Kelas FilterOutputStream sendiri
terdiri dari beberapa jenis, yang bisa dirangkum dalam tabel berikut ini :
Kelas
|
Kegunaan
|
Argumen
yang dibutuhkan untuk membuat objek
|
DataOutputStream
|
Digunakan
bersama-sama dengan DataInputStream sehingga kita bisa menulis tipe
data primitif, kemudian membacanya kembali tanpa harus diformat sendiri
|
OutputStream
|
PrintStream
|
Untuk
mengeluarkan output yang sudah diformat. DataOutputStream hanya menangani bagaimana data
disimpan sehingga bisa diambil kembali. PrintStream lebih berkonsentrasi pada
"tampilan", sehingga data yang ditulis bisa dibaca dengan baik.
|
OutputStream dengan tambahan opsi boolean untuk
memerintahkan buffer akan dikosongkan (flush) setiap kali baris baru ditulis.
|
BufferedOutputStream
|
Digunakan
untuk menghindari penulisan langsung dari media secara fisik setiap kali
perintah write() diberikan. Atau dengan kata lain
"gunakan buffer" untuk baca tulis. Kita bisa menggunakan perintah flush() untuk mengosongkan buffer dan mengirimkan hasilnya
ke media fisik.
|
OutputStream dengan kemungkinan menentukan besar buffer sendiri
|
0 komentar:
Posting Komentar