java 中文件的 copy

1. 选用流

文件的 copy 需要用到 io 流,其中 InputStream 和 OutputStream 被广泛同于文件的 copy, 具体过程如下:

2. 代码 (eclipse)

import java.io.File;

public class 文件 copy {public static void main(String[] args) throws IOException {
//1. 建立联系源 (存在且为文件)+ 目的地 (文件可以不存在)
File src =new File(“D:/io/1.jpg”);
File dest=new File(“D:/io/2.jpg”);
//2. 选择流
InputStream is=new FileInputStream(src);
OutputStream os=new FileOutputStream(dest);
//3. 文件拷贝
byte[] flush=new byte[1024];
// 一次读 1024 个字节 int len=0;
// 读取 (按字节来读取)
while(-1!=(len=is.read(flush))) {
// 等于 -1 时,读取完毕
// 写出
os.write(flush,0,len); }
os.flush();
// 强制刷出
// 关闭流
os.close();
is.close();
}
}

3. 总结

&1. 文件的 copy 中,联系源文件必须存在,但是目的地文件可以不存在。
&2. InputStream 作为输入流把联系源文件输入,OutputStream 作为输出流把目的地文件输出。
&3. 由于文件的 copy 是以字节形式读取,因此需要定义 byte 类型来进行读取。
&4. is.read(Elemtype)==-1 是读取完毕,相反则继续读取。
&5. 最后需要 os.flush 强制刷出并关闭流。