```package io02;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
/**
- 文件的拷贝:文件字节输入、输出流
- @author karry * */
public class Copy {
public static void main(String[] args) {
//1.创建源
File src=new File("p.png");//源头
File dest=new File("copyp.png");//目的地
//2.选择流
InputStream is=null;
OutputStream os=null;
try {
//3.操作(分段读取)
is=new FileInputStream(src);
os=new FileOutputStream(dest);
byte[] flush=new byte[1024];//缓冲容器
int len=-1;//接收长度
while((len=is.read(flush))!=-1) {
os.write(flush,0,len);//分段写出
os.flush();
}
} catch (FileNotFoundException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}finally {
//4、释放资源 分别关闭 先打开的后关闭
try {
if (os != null) {
os.close();
}
} catch (Exception e) {
// TODO: handle exception
}
try {
if(is!=null) {
is.close();
}
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}
}