Filtroinputstream
A função do FilterInputStream é "encapsular outros fluxos de entrada e fornecer a eles funcionalidade adicional". Suas subclasses comumente usadas são bufferinputStream e DataAinputStream.
A função do bufferInputStream deve fornecer "funções de buffer para fluxos de entrada, bem como funções Mark () e Reset ()".
O DatainputStream é usado para decorar outros fluxos de entrada, que "permitem que os aplicativos leiam os tipos básicos de dados Java a partir do fluxo de entrada subjacente de maneira independente da máquina". Os aplicativos podem usar o DataOutputStream para gravar dados lidos por DatainputStream.
FilterInputStream Código -fonte (com base no JDK1.7.40):
pacote java.io; classe pública filterinputStream estende o inputStream {protegido InputStream volátil protegido in; FilterInputStream protegido (inputStream in) {this.in = in; } public int read () lança ioexception {return in.read (); } public int read (byte b []) lança IoException {return read (b, 0, b.Length); } public int read (byte b [], int off, int len) lança ioexception {return in.read (b, off, len); } public Long Skip (Long N) lança IoException {retorna em.skip (n); } public int disponível () lança IoException {return in.Available (); } public void Close () lança IoException {in.Close (); } public sincronizado Void Mark (int readlimit) {in.mark (readlimit); } public sincronizado void reset () lança IoException {in.Reset (); } public boolean marksupported () {return in.marksupported (); }} FiltroOutputStream
A função do FilterOutputStream é "encapsular outros fluxos de saída e fornecer a eles com funcionalidade adicional". Inclui principalmente BufferedOutputStream, DataOutputStream e PrintStream.
(01) A função do BufferedOutputStream deve fornecer "função de buffer para o fluxo de saída".
(02) O DataOutputStream é usado para decorar outros fluxos de saída, usando o DataOutputStream e os fluxos de entrada do DataAnputStream, "permitindo que os aplicativos leiam e escrevam tipos básicos de dados Java a partir do fluxo de entrada subjacente de maneira independente da máquina".
(03) O PrintStream é usado para decorar outros fluxos de saída. Ele adiciona funcionalidade a outros fluxos de saída, permitindo que eles imprimam facilmente várias representações de valor de dados.
FilterOutputStream Código -fonte (com base no JDK1.7.40):
pacote java.io; public class filterOutputStream estende o outputStream {saída de saída protegida out; public filterOutputStream (outputStream Out) {this.out = out; } public void write (int b) lança ioexception {out.write (b); } public void write (byte b []) lança ioexception {write (b, 0, b.Length); } public void write (byte b [], int off, int len) lança a ioexception {if ((off | len | (b.Length - (len + off)) | (off + len)) <0) lançar novo indexOutOfBoundSexception (); for (int i = 0; i <len; i ++) {write (b [off+i]); }} public void Flush () lança IoException {out.flush (); } public void close () lança ioexception {try {flush (); } catch (ioexception ignorado) {} out.close (); }}