缓冲字节流
BufferedInputStream 和 BufferedOutputStream
看有什么特点
就是前面加了一个buffered,也就是说还是依赖底层的字节流。
区别就是比底层的字节流更快,因为这个利用了内存的运行速度比存储的快。
因为基本的流速度太慢了,所以需要缓冲流来加速,因为用户对响应速度的要求高于内存的。
用缓冲字节流实现文本文件的复制粘贴
方法1:原始方法。
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class TestBufferedInputstream {
public static void main(String[] args) throws IOException {
//创建源文件以及接收的文件,参数位路径
File fileSrc = new File("D:\\src.txt");
File fileDest = new File("D:\\dest.txt");
//创建输出流,参数为文件也可以是文件的路径直接用字符串表示。
FileInputStream fis = new FileInputStream(fileSrc);
FileOutputStream fos = new FileOutputStream(fileDest);
BufferedInputStream bis = new BufferedInputStream(fis);
BufferedOutputStream bos = new BufferedOutputStream(fos);
//获取当前时间
long start = System.currentTimeMillis();
byte [] b = new byte[1024];
int n = bis.read(b);
while( n != -1) {
bos.write(b);
bos.flush();
n = bis.read(b);
}
long end = System.currentTimeMillis();
System.out.println("总运行时间:" + (end - start));
bos.close();
bis.close();
}
}
简写方法如下,本质一样。