Java把指定文件夹下的文件复制到指定目录下
程序员文章站
2022-06-04 08:09:12
...
文件的复制需要用到java的io流知识,下面是代码示例,相关代码都打了注释,对于理解还是有点帮助的
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class CopyDemo {
public static void main(String[] args) throws IOException {
//目标源文件夹
File source = new File("H:/MyCode/20190403");
File file = new File("H:/H");
//创建文件夹
file.mkdir();
//目标新文件夹
File fil = new File("H:/H/20190403");
copy(source, fil);
System.out.println("复制成功");
}
public static void copy(File source, File fil) throws IOException {
// 判断源目录是不是一个目录
if(!source.isDirectory()){
//如果不是目录就不复制
return;
}
//创建目标目录的file对象
if (!fil.exists()) {
//不存在就创建文件夹
fil.mkdir();
} else {
return;
}
//如果源文件存在就复制
if (source.exists()) {
// 获取源目录下的File对象列表
File[] files = source.listFiles();
for (File file2 : files) {
//新文件夹的路径
File file4 = new File(fil + File.separator + file2.getName());
if (file2.isDirectory()) {
copy(file2, file4);
}
if (file2.isFile()) {
FileInputStream in = new FileInputStream(file2);
FileOutputStream out = new FileOutputStream(file4);
byte[] bs = new byte[1026];
int count = 0;
//循环把源文件的内容写入新文件
while ((count = in.read(bs, 0, bs.length)) != -1) {
out.write(bs, 0, count);
}
//关闭流
out.flush();
out.close();
in.close();
}
}
}
}
}