缓冲流
java.io.BufferedOutputStream 和 BufferedInputStream
缓冲流是一对高级流,作用是提高读写数据的效率
缓冲流内部有个一个字节数组,默认长度是8k,缓冲流读写数据是一定是将数据的读写方式转换为块读写来保证读写效率
缓存字节输入流读取文件,8kb缓存区,在内存中读写,性能更高
try(
InputStream is = new FileInputStream("src/file/test2.txt");//被拷贝的文件
InputStream bis = new BufferedInputStream(is);
OutputStream os = new FileOutputStream("src/file/test5.txt");//复制品
OutputStream bos = new BufferedOutputStream(os);
//无论下方代码是否出现异常,都会自动释放资源。里面只能放资源,需要实现Closeable接口
){
//一次性读取1024个字节
byte[] bs = new byte[1024];
int l;
while ((l=bis.read(bs)) != -1) bos.write(bs,0,l);
}catch (Exception e){
e.printStackTrace();
}
缓存字符输出流写入文件,新增按行读取的方法
try(
//创建文字字符输入流
Reader reader = new FileReader("D:\\Desktop\\letcode\\src\\file\\Test2.java");
//把低级字符流包装为高级字符缓冲输入流
BufferedReader bufferedReader = new BufferedReader(reader);