//复制文件夹
private void folderCopy(String sourFolder, String desFolder) throws Exception {
File sourFile = null, desFile = null;try {
sourFile = new File(sourFolder);
if (!sourFile.isDirectory() || !sourFile.exists()) { //源文件夹不存在
logger.add("源文件夹不存在");
}
desFile = new File(desFolder);
desFile.mkdir();
copy(sourFile.listFiles(), desFile); //CallFunction文件复制
} catch (Exception e) {
e.printStackTrace();
}
}
private void copy(File[] files, File d) throws Exception {
if (!d.exists()) //指定的文件夹不存在
d.mkdir(); //新建文件夹
for (int i = 0; i < files.length; i++) { //循环遍历要复制的文件夹
if (files[i].isFile()) { //文件夹中,如果有文件存在的话
try {
FileInputStream fis = new FileInputStream(files[i]); //新创建FileInputStream Object
FileOutputStream out = new FileOutputStream(new File(d.getPath()
+ File.separator + files[i].getName())); //复制后的文件保存路径
int count = fis.available();
byte[] data = new byte[count];
if ((fis.read(data)) != -1) { //read file
out.write(data); //信息写进文件中
}
out.close(); //close stream
fis.close();
} catch (Exception e) {
e.printStackTrace();
}
}
if (files[i].isDirectory()) { //如果,是文件夹的话
File des = new File(d.getPath() + File.separator
+ files[i].getName()); //复制后的路径,子文件夹的话新建
des.mkdir();
copy(files[i].listFiles(), des); //递归
}
}
logger.add("文件夹复制成功");
}