一,BufferedOutputStream
是输出流的子类
FileOutputStream会导致底层系统的调用
而字节缓冲流可以向FileOutputStream写数据,通过设置一个缓冲区可以一次性将这些
数据写入到文件中,从而减少底层系统的调用
构造方法:BufferedOutputStream(OutputStream out)
二,BufferedInputStream
是输入流的子类
创建BufferedInputStream还会创建一个内部缓冲区数组,当从流中读取或者跳过
字节时,内部缓冲区会根据需要重新填充,同样减少了底层系统的调用
构造方法:BufferedInputStream(IntputStream out)
注意,字节缓冲流只是提供缓冲区,真正实现读写的还是基本的字节流对象
下面是利用字节缓冲流复制视频的代码
import java.io.*;
public class BufferTest {
public static void main(String[] args) throws IOException {
BufferedInputStream bis=new BufferedInputStream(new FileInputStream("C:\\data\\船.mp4"));
BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream("C:\\data\\copy.mp4"));
byte[] bye=new byte[1024];
int len;
while((len=bis.read(bye))!=-1){
bos.write(bye,0,len);
}
bis.close();
bos.close();
}
}