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版权协议,转载请附上原文出处链接和本声明。