BufferedInuputStream和BufferedOutputStream的使用
BufferedInuputStream
BufferedInputStream:缓冲字节输入流,是一个高级流(处理流),与其他低级流配合使用。
继承的类
public class BufferedInputStream extends FilterInputStream
public class FilterInputStream extends InputStream
构造方法
public BufferedInputStream(InputStream in);
创建一个 BufferedInputStream 并保存其参数,即输入流 in,以便将来使用。创建一个内部缓冲区数组并将其存储在 buf 中,该buf的大小默认为8192。
public BufferedInputStream(InputStream in,int size);
创建具有指定缓冲区大小的 BufferedInputStream 并保存其参数,即输入流 in,以便将来使用。创建一个长度为 size 的内部缓冲区数组并将其存储在 buf 中。
从构造方法中我们可以知道BufferedInputStream没有无参构造方法,它必须传入一个InputStream(一般是FileInputStream),来一起使用,以提高读写效率。
常用的方法
public int read();
从该输入流中读取一个字节
public int read(byte[] b,int off,int len);
从此字节输入流中给定偏移量处开始将各字节读取到指定的 byte 数组中。
BufferedOutputStream
BufferedOutputStream:缓冲字节输出流是一个高级流(处理流),与其他低级流配合使用。
继承的类
public class BufferedOutputStream extends FilterOutputStream
public class FilterOutputStream extends OutputStream
构造方法
public BufferedOutputStream(OutputStream out);
创建一个新的缓冲输出流,以将数据写入指定的底层输出流。
public BufferedOutputStream(OutputStream out,int size);
创建一个新的缓冲输出流,以将具有指定缓冲区大小的数据写入指定的底层输出流。
常用的方法
public void write(int b);
向输出流中输出一个字节
public void write(byte[] b,int off,int len);
将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此缓冲的输出流。
public void flush();
刷新此缓冲的输出流。这迫使所有缓冲的输出字节被写出到底层输出流中。
两种方法的具体使用
拷贝一本书,使用4种方式进行拷贝
1)使用字节流一个字节一个字节去拷贝
2)使用缓冲数组去拷贝
3)使用缓冲流一个字节一个字节去拷贝
4&