import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
/*
* 需求:复制一个图片
* 思路:1.用字节读取流对象和图片关联。
* 2.用字节写入流对象创建一个图片。用于存储获取到的图片数据。
* 3.通过循环读写,完成数据的存储
* 4.关闭资源
*/
public class CopyPic {
public static void main(String[] args) {
long start=System.currentTimeMillis();
copy_1();
long end=System.currentTimeMillis();
System.out.println((end-start)+"毫秒");
}
//copy一个MP3格式的文档
public static void copy_1() {
//演示MP3的复制,通过缓冲区
BufferedInputStream bufis=null;
BufferedOutputStream bufos=null;
try {
bufis=new BufferedInputStream(new FileInputStream("d:\\1.mp3"));
bufos=new BufferedOutputStream(new FileOutputStream("d:\\2.mp3"));
int by=0;
while ((by=bufis.read())!=-1) {
bufos.write(by);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
bufos.close();
bufis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
//使用字节流对图片的复制
/*FileOutputStream fos=null;
FileInputStream fis=null;
try {
fos=new FileOutputStream("d:\\2.bmp");//复制的
fis=new FileInputStream("d:\\1.bmp");//已有的
byte[] buf =new byte[1024];
int len=0;
while ((len=fis.read(buf))!=-1) {
fos.write(buf,0,len);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
if (fis!=null) {
fis.close();
}
if (fos!=null) {
fis.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}*/
}