FilterInputStream
La función de FilterInputStream es "encapsular otras secuencias de entrada y proporcionarles una funcionalidad adicional". Sus subclases de uso común son BufferedInputStream y DataInputStream.
La función de BufferedInputStream es proporcionar "funciones de almacenamiento de buffer de entrada para las funciones de entrada, así como las funciones Mark () y RESET ()".
DataInputStream se utiliza para decorar otras secuencias de entrada, que "permite que las aplicaciones lean los tipos de datos de Java básicos de la secuencia de entrada subyacente de una manera independiente de la máquina". Las aplicaciones pueden usar DataOutputStream para escribir datos leídos por DataInputStream.
FilterInputStream Source Code (basado en JDK1.7.40):
paquete java.io; public class FilterInputStream extiende InputStream {protegido volátil InputStream en; FilterInputStream protegido (inputStream in) {this.in = in; } public int read () lanza ioexception {return in.read (); } public int read (byte b []) lanza ioexception {return read (b, 0, b.length); } public int Read (byte b [], int off, int len) lanza ioexception {return in.read (b, off, len); } public Long Skip (Long n) lanza ioexception {return in.skip (n); } public int disponible () lanza ioexception {return in.available (); } public void Close () lanza ioexception {in.close (); } public sincronizado sincronizado (int readLimit) {in.mark (readLimit); } public sincronizado void reset () lanza ioexception {in.reset (); } public boolean MarkSupported () {return in.markSupported (); }} FilterOutputStream
La función de FilterOutputStream es "encapsular otras secuencias de salida y proporcionarles una funcionalidad adicional". Incluye principalmente BufferedOutputStream, DataOutputStream y PrintStream.
(01) La función de BufferedOutputStream es proporcionar "función de amortiguación para la secuencia de salida".
(02) DataOutputStream se utiliza para decorar otras secuencias de salida, utilizando DataOutputStream y las secuencias de entrada DataRstream, "permitiendo que las aplicaciones lean y escriban los tipos básicos de datos de Java desde la secuencia de entrada subyacente de una manera independiente de la máquina".
(03) PrintStream se usa para decorar otras secuencias de salida. Agrega funcionalidad a otras secuencias de salida, lo que les permite imprimir fácilmente varias representaciones de valor de datos.
FilterOutputStream Source Code (basado en JDK1.7.40):
paquete java.io; public class FilterOutputStream extiende OutputStream {Protected outputStream out; Public FilterOutputStream (outputStream out) {this.out = out; } public void write (int b) lanza ioexception {out.write (b); } public void Write (byte b []) lanza ioexception {Write (b, 0, B.Length); } public void Write (byte b [], int off, int len) lanza ioexception {if ((off | len | (b.length - (len + off)) | (OFF + len)) <0) tirar nuevo indexOutofBoundseException (); para (int i = 0; i <len; i ++) {escribir (b [OFF+i]); }} public void flush () lanza ioexception {out.flush (); } public void Close () lanza ioexception {try {flush (); } catch (ioException ignorado) {} out.close (); }}