Java BufferedInputStream 和 BufferedOutputStream
来源:互联网 发布:office mac 威锋 编辑:程序博客网 时间:2024/04/27 22:23
Java BufferedInputStream 和 BufferedOutputStream
带缓冲区的字节流
- BufferedInputStream 和 BufferedOutputStream 默认有一个8192长度的字节数组缓冲区。
- BufferedInputStream 在读取时,先一次性读取 8192 个字节到缓冲区,直到缓冲区内所有的数据都使用完,再去文件中读取。
BufferedOutputStream 是先将读取到的数据存储在缓冲区,缓冲区写满再一次性写到文件中。
BufferedInputStream
- 构造方法
构造方法 说明 BufferedInputStream(InputStream in) 创建一个 BufferedInputStream 并保存其参数,即输入流 in,以便将来使用 BufferedInputStream(InputStream in, int size) 创建具有指定缓冲区大小的 BufferedInputStream 并保存其参数,即输入流 in,以便将来使用- 方法
方法 说明 available() 返回未读取的字节数 read(byte[] b, int off, int len) 从此字节输入流中给定偏移量处开始将各字节读取到指定的 byte 数组中 close() 关闭此输入流并释放与该流关联的所有系统资源BufferedOutputStream
- 构造方法
构造方法 说明 BufferedOutputStream(OutputStream out) 创建一个新的缓冲输出流,以将数据写入指定的底层输出流 BufferedOutputStream(OutputStream out, int size) 创建一个新的缓冲输出流,以将具有指定缓冲区大小的数据写入指定的底层输出流- 方法
方法 说明 flush() 刷新此缓冲的输出流。这迫使所有缓冲的输出字节被写出到底层输出流中 write(byte[] b, int off, int len) 将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此缓冲的输出流 write(int b) 将指定的字节写入此缓冲的输出流 close() 关闭流,在关闭之前会调用flush方法
文件拷贝示例
BufferedInputStream input = null;BufferedOutputStream output = null;try{ // 创建输入输出流 input = new BufferedInputStream(new FileInputStream("E:/apache-tomcat-8.5.9-windows-x64.zip")); output = new BufferedOutputStream(new FileOutputStream("D:/temp.zip")); byte[] buffer = new byte[1024 * 8]; int len; // 读写数据 while((len = input.read(buffer)) > 0) { output.write(buffer, 0, len); } // 刷新 output.flush(); System.out.println("Done.");}catch(IOException e) { e.printStackTrace();}finally { try { // 关闭输入流 if(input != null) { input.close(); } } catch (IOException e) { e.printStackTrace(); }finally { try { // 关闭输出流 if(output != null) { output.close(); } } catch (IOException e) { e.printStackTrace(); } }}
0 0
- java BufferedOutputStream和BufferedInputStream
- Java BufferedInputStream 和 BufferedOutputStream
- Java IO BufferedInputStream和BufferedOutputStream
- java---缓冲输入输出流BufferedInputStream和BufferedOutputStream
- Java IO流-BufferedInputStream和BufferedOutputStream
- BufferedInputStream和BufferedOutputStream
- BufferedInputStream和BufferedOutputStream
- BufferedOutputStream和BufferedInputStream
- BufferedInputStream和BufferedOutputStream详解
- BufferedInputStream和BufferedOutputStream
- BufferedOutputStream 和 BufferedInputStream
- BufferedInputStream和BufferedOutputStream类
- BufferedInputStream和BufferedOutputStream类
- BufferedInputStream 和 BufferedOutputStream
- BufferedInputStream和BufferedOutputStream
- Java的IO流--BufferedReader和BufferedWriter,BufferedInputStream和BufferedOutputStream
- 19.Java IO: BufferedInputStream && BufferedOutputStream
- JAVA IO之BufferedInputStream&BufferedOutputStream
- 【电影】电影
- 请输入当前的年份,得到这是本年的第几天
- 用生活的实例深入理解线程的竞态条件
- 数据库范式1NF 2NF 3NF BCNF
- web前端开发小知识1
- Java BufferedInputStream 和 BufferedOutputStream
- Java FileReader 和 FileWriter
- Pandas中ix,loc,iloc有什么区别?
- Objective-c - 延展:extension
- Java BufferedReader 和 BufferedWriter
- 数据库范式解析(1NF 2NF 3NF BCNF)
- ArcGIS的.prj文件生成proj4格式的字符串
- setInterval定时器(先触发一次再延时)
- caffe中样本的label一定要从序号0开始标注--caffe学习(15)