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 :
KelasKegunaanArgumen yang dibutuhkan untuk membuat objek
DataInputStreamDigunakan bersama-sama dengan DataOutputStream sehingga kita bisa menulis tipe data primitif, kemudian membacanya kembali tanpa harus diformat sendiriInputStream
BufferedInputStreamDigunakan untuk menghindari pembacaan langsung dari media secara fisik setiap kali perintah read() diberikan. Atau dengan kata lain "gunakan buffer" untuk baca tulisInputStream dengan kemungkinan menentukan besar buffer sendiri
LineNumberInputStreamMencatat nomor baris dalam InputStream. Kita bisa menggunakan perintah getLineNumber() dan setLineNumber(int)InputStream
PushBackInputStreamMemiliki 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 :
KelasKegunaanArgumen yang dibutuhkan untuk membuat objek
DataOutputStreamDigunakan bersama-sama dengan DataInputStream sehingga kita bisa menulis tipe data primitif, kemudian membacanya kembali tanpa harus diformat sendiriOutputStream
PrintStreamUntuk 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.
BufferedOutputStreamDigunakan 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:

Poskan Komentar