· 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