您的位置:首页 > 编程语言 > Java开发

[JAVA]文件操作--复制文件夹

2013-04-17 09:18 369 查看
//复制文件夹

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("文件夹复制成功");

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: