Java利用BufferedInputStream和BufferedOutputStream进行图片复制

Java利用BufferedInputStream和BufferedOutputStream进行图片复制:

package yu.hang;

import java.io.*;

public class Demo07 {
    public static void main(String[] args) throws IOException {
        //功能:完成图片的复制
        //1.有一个源图片
        File f1 = new File("e:\\photo\\03.jpg");
        //2.有一个目标图片
        File f2 = new File("e:\\photo\\04.jpg");
        //3.有一个输入的管道怼到源文件上:
        FileInputStream fis = new FileInputStream(f1);
        //4.有一个输出的管道怼到目标文件上:
        FileOutputStream fos = new FileOutputStream(f2);
        //5.功能加强,在FileInputStream外面套一个管:BufferedInputStream:
        BufferedInputStream bis = new BufferedInputStream(fis);
        //6.功能加强,在FileOutputStream外面套一个管:BufferedOutputStream:
        BufferedOutputStream bos = new BufferedOutputStream(fos);
        //7.开始动作:
        byte[] b = new byte[1024*6];
        int len = bis.read(b);
        while (len!=-1){
            bos.write(b,0,len);
            //bos.flush();底层已经帮我们做了刷新缓冲区的操作,不用我们手动完成,底层调用flushBuffer()
            len = bis.read(b);
        }
        //8.关闭流(后用先关):
        //如果处理流包裹着节点流的话,那么只需要关闭高级流(处理流),里面的节点流也会随之被关闭。
        bos.close();
        bis.close();
        /*
        fos.close();
        fis.close();
         */
    }
}


版权声明:本文为weixin_43422249原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。