FilterripputStream
La fonction de filterInputStream est de "encapsuler d'autres flux d'entrée et de leur fournir des fonctionnalités supplémentaires". Ses sous-classes couramment utilisées sont BufferedInputStream et DatAnputStream.
La fonction de BufferedInputStream est de fournir "la fonction tampon pour les flux d'entrée, ainsi que les fonctions Mark () et Reset ()".
DatainputStream est utilisé pour décorer d'autres flux d'entrée, qui "permet aux applications de lire les types de données Java de base à partir du flux d'entrée sous-jacent de manière indépendante de la machine". Les applications peuvent utiliser DataOutputStream pour rédiger des données lues par DatainputStream.
Code source FilterInputStream (basé sur JDK1.7.40):
package java.io; classe publique FilterInputStream étend InputStream {Protected volatile inputStream in; protégée filterInputStream (inputStream in) {this.in = in; } public int read () lève ioException {return in.read (); } public int Read (Byte b []) lève ioException {return read (b, 0, b.length); } public int Read (byte b [], int off, int len) lève ioException {return in.read (b, off, len); } public long skip (long n) lève ioException {return in.skip (n); } public int disponible () lève ioException {return in.Available (); } public void close () lève ioException {in.close (); } public synchronisé vide Mark (int readlimit) {in.mark (readlimit); } public synchronisé void reset () lève ioException {in.reset (); } public boolean markSupported () {return in.markSupported (); }} FilterOutputStream
La fonction de filterOutputStream est de "encapsuler d'autres flux de sortie et de leur fournir des fonctionnalités supplémentaires". Il comprend principalement BufferedOutputStream, DataOutputStream et PrintStream.
(01) La fonction de BufferedOutputStream est de fournir "une fonction tampon pour le flux de sortie".
(02) DataOutputStream est utilisé pour décorer d'autres flux de sortie, à l'aide de DataOutStream et de DataRainPutStream Input Streams, "permettant aux applications de lire et d'écrire des types de données Java de base à partir du flux d'entrée sous-jacent de manière indépendante de la machine."
(03) PrintStream est utilisé pour décorer d'autres flux de sortie. Il ajoute des fonctionnalités à d'autres flux de sortie, leur permettant d'imprimer facilement diverses représentations de valeur de données.
Code source FilterOutputStream (basé sur JDK1.7.40):
package java.io; public class filterOutStream étend OutputStream {Protected OutputStream out; public filterOutputStream (outputStream out) {this.out = out; } public void write (int b) lève ioException {out.write (b); } public void write (byte b []) lève ioException {write (b, 0, b.length); } public void write (byte b [], int off, int len) lève ioException {if ((off | len | (b.length - (len + off)) | (off + len)) <0) lance un nouvel indexoutofboundSexception (); for (int i = 0; i <len; i ++) {write (b [off + i]); }} public void flush () lève ioException {out.flush (); } public void close () lève ioException {try {flush (); } catch (ioException ignoré) {} out.close (); }}