package com.centrin.process.utils;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;
public class CopyFileUtils {
/**
* 把fileNameList中的文件名的文件从旧路径copy到新路径下
* @param oldPath
* @param newPath
* @param fileNameList
* @throws IOException
*/
public static void copyFile(String oldPath, String newPath, List<String> fileNameList) throws IOException {
System.out.println("oldPath: " + oldPath); //D:/opt/data/txt/20201115
System.out.println("newPath: " + newPath); //D:/opt/data/temp/20201115-8imx2v-1/txt
System.out.println("fileNameList: " + fileNameList); //[a1.txt, a2.txt, a3.txt, a4.txt]
for (int i = 0; i < fileNameList.size(); i++) {
String fileOldPath = oldPath + "/" + fileNameList.get(i);
File file = new File(fileOldPath);
File copyFile = null;
if (file.exists()) { //当第一个文件存在的时候
copyFile = new File(newPath);
if (!copyFile.exists()) { //如果copyfile不存在的话,就新建文件夹
copyFile.mkdirs();
}
//文件io
FileInputStream in = new FileInputStream(new File(fileOldPath));
FileOutputStream out = new FileOutputStream(new File(newPath + "/" + fileNameList.get(i)));
byte[] buff = new byte[512];
int n = 0;
System.out.println("复制文件:\n源路径:" + fileOldPath + "\n" + "目标路径:" + newPath + "/" + fileNameList.get(i));
while ((n = in.read(buff)) != -1) {
out.write(buff, 0, n);
}
out.flush();
in.close();
out.close();
System.out.println("复制完成");
} else {
System.out.println("源文件不存在");
}
}
System.out.println("执行成功");
}
}
06-01
2万+