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,字节缓冲流的好处及场景:
