1,字节缓冲流的API:
2,使用范例:
//利用字节数组进行复制:
public class Text01 {
public static void main(String[] args) throws IOException {
//输入:
BufferedInputStream bis = new BufferedInputStream(new FileInputStream("G:\\xxx.png"));
//输出:
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("G:\\xxx\\xxx(2).png"));
byte[] buf = new byte[1024 * 8];
int b;
while ((b = bis.read(buf)) != -1) {
bos.write(buf,0,b);
}
bos.close();
bis.close();
}
}
3,字节缓冲流的效率秘密:
- 因为缓冲流里面的缓冲区其实有一个数组(1024 * 8),当读取一个字节的时候,会将读取的多个字节存到缓冲区中,直到缓冲区已满再进行写入;
- 当读取多个字节的时候就不一样了,要先把已读取的数组放到输入缓冲区,再复制到我们自己的数组,再复制到输出缓冲区再进行写入;因此,读取多个字节的时候,会比基本流读取多个字节慢一点点;
4,字节缓冲流的好处及场景: