FilterInputStream
Fungsi filterInputStream adalah untuk "merangkum aliran input lainnya dan memberikannya fungsionalitas tambahan". Subclass yang umum digunakan adalah bufferedInputStream dan DatainputStream.
Fungsi bufferedInputStream adalah untuk menyediakan "fungsi buffering untuk aliran input, serta fungsi mark () dan reset ()".
DataInputStream digunakan untuk menghiasi aliran input lainnya, yang "memungkinkan aplikasi untuk membaca tipe data Java dasar dari aliran input yang mendasari dengan cara yang tidak tergantung pada mesin." Aplikasi dapat menggunakan DataOutputStream untuk menulis data yang dibaca oleh DataInputStream.
Kode Sumber FilterInputStream (berdasarkan JDK1.7.40):
paket java.io; kelas publik filterInputStream memperluas inputStream {protected volatile inputStream in; protected filterInputStream (inputStream in) {this.in = in; } public int read () melempar ioException {return in.read (); } public int read (byte b []) melempar ioException {return baca (b, 0, b.length); } public int read (byte b [], int off, int len) melempar ioException {return in.read (b, off, len); } public long skip (long n) melempar ioException {return in.skip (n); } public int tersedia () melempar ioException {return in.available (); } public void close () melempar ioException {in.close (); } mark void yang disinkronkan publik (int readlimit) {in.mark (readLimit); } public disinkronkan void reset () melempar ioException {in.reset (); } public boolean marksupported () {return in.marksupported (); }} FilterOutputStream
Fungsi filteroutputStream adalah untuk "merangkum aliran output lainnya dan memberikannya fungsionalitas tambahan". Ini terutama termasuk bufferedOutputStream, DataOutputStream dan PrintStream.
(01) Fungsi bufferedOutputStream adalah untuk menyediakan "fungsi buffering untuk aliran output".
(02) DataOutputStream digunakan untuk menghiasi aliran output lainnya, menggunakan stream input DataOutputStream dan DataInputStream, "yang memungkinkan aplikasi untuk membaca dan menulis tipe data Java dasar dari aliran input yang mendasari dengan cara yang tidak tergantung pada mesin."
(03) Printstream digunakan untuk menghiasi aliran output lainnya. Ini menambah fungsionalitas ke aliran output lainnya, memungkinkan mereka untuk dengan mudah mencetak berbagai representasi nilai data.
Kode Sumber FilterOutputStream (berdasarkan JDK1.7.40):
paket java.io; kelas publik filteroutputStream memperluas outputStream {protected outputStream out; public filteroutputStream (outputStream out) {this.out = out; } public void write (int b) melempar ioException {out.write (b); } public void write (byte b []) melempar ioException {write (b, 0, b.length); } public void write (byte b [], int off, int len) melempar ioException {if ((off | len | (b.length - (len + off)) | (off + len)) <0) Lemparkan indexOutOfBoundsException (); untuk (int i = 0; i <len; i ++) {write (b [off+i]); }} public void flush () melempar ioException {out.flush (); } public void close () melempar ioException {coba {flush (); } catch (ioException diabaikan) {} out.close (); }}