缓冲流的使用(非文本)
作用:
-
提高流的读取、写入的速度
-
提高读写速度的原因:内部提供了一个缓冲区
package com.ran; import java.io.*; public class Ran { public static void main(String[] args) throws IOException { BufferedInputStream bis = null; BufferedOutputStream bos = null; try { //1.造文件 File yuan=new File("1.jpg"); File mubiao=new File("2.jpg"); //2.造流 FileInputStream fis = new FileInputStream(yuan); FileOutputStream fos = new FileOutputStream(mubiao); //2.2造缓冲流 bis = new BufferedInputStream(fis); bos = new BufferedOutputStream(fos); //3.复制 byte[] buffer=new byte[5]; int len; while ((len=bis.read(buffer))!=-1){ bos.write(buffer,0,len); } } catch (IOException e) { e.printStackTrace(); } finally { //4.资源关闭 //要求:先关闭外层的流,再关闭内层的流 if(bos!=null){ bos.close(); } if(bis!=null){ bis.close(); } //说明:关闭外层流的同时,内层流也会自动进行关闭,关于内层流的关闭我们可以省略 // fos.close(); // fis.close(); } } }