高级流
流连接示意图
缓冲流
java.io.BufferedOutputStream
和BufferedInputStream
缓冲流是一对高级流,作用是提高读写数据的效率。
缓冲流内部有一个字节数组,默认长度是8K。缓冲流读写数据时一定是将数据的读写方式转换为块读写来保证读写效率。
使用缓冲流完成文件复制操作
/**
* 使用缓冲流完成文件复制操作
*
* 缓冲流:
* java.io.BufferedInputStream和BufferedOutputStream
* 缓冲流是一对高级流,它们的作用是提高数据的读写效率
*
* 缓冲流内部维护一个8K字节数组,无论我们读写方式是什么(随机读写,块读写),缓冲流
* 都会同一转换成块读写来保证读写效率
*/
public class CopyDemo3 {
public static void main(String[] args) throws IOException {
FileInputStream fis = new FileInputStream("rainbow.jpg");
BufferedInputStream bis = new BufferedInputStream(fis);
FileOutputStream fos = new FileOutputStream("rainbow_copy.jpg");
BufferedOutputStream bos = new BufferedOutputStream(fos);
int d;
long start = System.currentTimeMillis();
while ((d = bis.read()) != -1) {
bos.write(d);
}
long end = System.currentTimeMillis();
System.out.println("复制完毕!耗时:" + (end - start)