FilterinPutStream
Функция FilterInputStream состоит в том, чтобы «инкапсулировать другие входные потоки и предоставить им дополнительную функциональность». Его обычно используемые подклассы являются буферизацией InputStream и DataInputStream.
Функция BufferedInputStream состоит в том, чтобы обеспечить «буферизацию для входных потоков, а также функции Mark () и reset ()».
DataInputStream используется для украшения других входных потоков, что «позволяет приложениям считывать основные типы данных Java из базового входного потока независимым от машины». Приложения могут использовать DataOutputStream для записи данных считыванием данных DataInputStream.
Исходный код FilterInputStream (на основе JDK1.7.40):
пакет java.io; public class filterInputStream Extends inputStream {Protected volatile InputStream в; Protected FilterInputStream (inputStream in) {this.in = in; } public int Read () Throws ioException {return in.read (); } public int Read (byte b []) бросает ioException {return Read (b, 0, b.length); } public int Read (byte b [], int off, int len) бросает ioexception {return in.read (b, off, len); } public long skip (long n) бросает ioException {return in.skip (n); } public int доступен () бросает ioException {return in.available (); } public void cloid () бросает ioException {in.close (); } public Synchronized void Mark (int readlimit) {in.mark (readlimit); } public synchronized void reset () бросает ioException {in.reset (); } public boolean marksupported () {return in.marksupported (); }} FilterOutputStream
Функция FilterOutputStream состоит в том, чтобы «инкапсулировать другие выходные потоки и предоставить им дополнительную функциональность». В основном он включает BufferedOutputStream, DataOutputStream и PrintStream.
(01) Функция BufferedOutputStream заключается в том, чтобы обеспечить «буферизацию для выходного потока».
(02) DataOutputStream используется для украшения других выходных потоков с использованием входных потоков DataOutputStream и DataInputStream, «позволяя приложениям для чтения и записи основных типов данных Java из базового потока ввода независимым от машины».
(03) PrintStream используется для украшения других выходных потоков. Он добавляет функциональность к другим выходным потокам, позволяя им легко печатать различные представления значения данных.
Исходный код FilterOutputStream (на основе JDK1.7.40):
пакет java.io; public class filterOutputStream Extends outputStream {Protected outputStream Out; public filterOutputStream (outputStream Out) {this.out = out; } public void write (int b) бросает ioException {out.write (b); } public void write (byte b []) бросает ioException {write (b, 0, b.length); } public void write (byte b [], int off, int len) бросает ioexception {if ((off | len | (b.length - (len + off)) | (off + len)) <0) бросить новый indexoutofboundsexception (); for (int i = 0; i <len; i ++) {write (b [off+i]); }} public void flush () бросает ioException {out.flush (); } public void close () бросает ioException {try {flush (); } catch (ioException игнорируется) {} out.close (); }}