java io ----- 10FilterInputStream 总结

FileterInputStream 介绍

FilterInputStream的作用是用来封装其他的输入流的,并为他们提供额外的功能,它的常用子类有BufferesInputStream和DataInputStream

BufferInputStream的作用就是在为"输入流提供缓存功能,以及mark()和reset()功能"

DataInputStream 是用来装饰其他输入流,它允许"应用程序以与及其无关的方式从底层输入流中读取基本java数据类型"。应用程序可以使用DataOutputStream(数据输出流)写入由DataInputStream(数据输入流)读取的数据

FilterInputStream源码

package java.io;

public class FilterInputStream extends InputStream {
    protected volatile InputStream in;

    protected FilterInputStream(InputStream in) {
        this.in = in;
    }

    public int read() throws IOException {
        return in.read();
    }

    public int read(byte b[]) throws IOException {
        return read(b, 0, b.length);
    }

    public int read(byte b[], int off, int len) throws IOException {
        return in.read(b, off, len);
    }

    public long skip(long n) throws IOException {
        return in.skip(n);
    }

    public int available() throws IOException {
        return in.available();
    }

    public void close() throws IOException {
        in.close();
    }

    public synchronized void mark(int readlimit) {
        in.mark(readlimit);
    }

    public synchronized void reset() throws IOException {
        in.reset();
    }

    public boolean markSupported() {
        return in.markSupported();
    }
}

猜你喜欢

转载自blog.csdn.net/lsm18829224913/article/details/81536564