[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("文件夹复制成功");
}
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("文件夹复制成功");
}
相关文章推荐
- java 文件及文件夹操作(复制、移动、删除)
- java复制整个文件夹(对大文件的操作)
- java中File文件的创建,删除,复制,移动,以及目录文件的删除等等,主要是文件及文件夹的操作
- Java 文件文件夹增删移动复制操作
- java文件和文件夹复制、删除、移动操作
- File文件基本操作之一: java 复制文件夹及其下面的子文件夹
- Java遍历文件夹,重命名文件,删除文件,复制文件等操作
- Java中复制文件和文件夹的操作,异常未处理,无注释-_-!
- 纯Java文件操作工具,支持文件、文件夹的复制、删除、移动
- 纯Java文件操作工具,支持文件、文件夹的复制、删除、移动
- java文件和文件夹复制、删除、移动操作
- java文件和文件夹复制、删除、移动操作
- java 的 文件、文件夹 的建立、删除、复制以及移动等功能 操作
- java文件和文件夹复制、删除、移动操作
- java文件和文件夹复制、删除、移动操作
- java文件和文件夹复制、删除、移动操作
- java文件和文件夹复制、删除、移动操作
- 纯Java文件操作工具,支持文件、文件夹的复制、删除、移动
- ( 转载)纯Java文件操作工具,支持文件、文件夹的复制、删除、移动
- Java中实现复制文件或文件夹——CopyUtil.java