java 简化文件夹的复制;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.io.FileUtils;
/*
 * 需要导入commons-io的jar包,下载地址:(选择bin,不是src)
 * http://commons.apache.org/proper/commons-io/download_io.cgi;
 * 导入jar包的方式很简单,百度查找eclipse怎么导入jar包;
 * 将下载好的jar包copy到项目下新建的folder下;右击-Build Path——
 * configure build path——add jar——项目下新建的folder下的commons-io-2.4.jar;
 */


public class FileUtilsTest 
{
public static void main(String[] args) 
{
File srcDir = new File("d:\\a\\b"); //源路径;
File destDir = new File("f:\\a");    //目标路径;
List<String> list1 = new ArrayList<String>();
System.out.println("复制前目标路径下的内容:");
getPath(list1, destDir);
for(String x: list1)
{
System.out.println(x);
}
System.out.println();
List<String> list2 = new ArrayList<String>();
if(!srcDir.exists())
{
System.out.println("源路径不存在");
System.exit(-1);
}
try 
{
FileUtils.copyDirectory(srcDir, destDir);
} catch (IOException e) 
{
e.printStackTrace();
}
System.out.println("复制后目标路径下的内容:");
getPath(list2, destDir);
for(String x: list2)
{
System.out.println(x);
}
}


private static List<String> getPath(List<String> list, File destDir) 
{
if(!destDir.exists())
{
destDir.mkdir();
}
File[] lists = destDir.listFiles();
for(File x: lists)
{
if(x.isDirectory())
{
getPath(list, x);
}
else
{
list.add(x.getPath());
}
}
return list;
}
}

你可能感兴趣的:(java 简化文件夹的复制;)