public class NotExsitsByDir {
private static List<String> l1 = new ArrayList<String>();
private static List<String> l2 = new ArrayList<String>();
/**
* @方法功能说明:
* @修改者名字: 戚羊
* @修改时间:2012-9-3 下午02:54:41
* @参数:@param args
* @return:void
*/
public static void main(String[] args) {
File file = new File("F:\\test01");
NotExsitsByDir t = new NotExsitsByDir();
List<String> list1 = t.pathList(file, file ,l1);
File file2 = new File("D:\\新建文件夹\\test02");
List<String> list2 = t.pathList(file2 ,file2 ,l2);
List<String> h1 = new ArrayList<String>();
List<String> h2 = new ArrayList<String>();
for(String s1 : list1){
for(String s2 : list2){
if(s1.equals(s2)){
h1.add(s1);
h2.add(s2);
}
}
}
list1.removeAll(h1);
list2.removeAll(h2);
System.out.println("文件夹"+file.getName()+"有" + "文件夹"+file2.getName()+"没有");
for(String s : list1){
System.out.println(s);
}
System.out.println("----------");
System.out.println("文件夹"+file2.getName()+"有" + "文件夹"+file.getName()+"没有");
for(String s : list2){
System.out.println(s);
}
}
/**
* @方法功能说明:根据文件目录得到下面所有文件的path过滤掉文件收目录 如 传入 D:\\code clean 则返回搜有此目录下的 path
* path经过处理去除d:\\code clean这段
* @修改时间:2012-9-3 下午03:16:50
* @参数:@param file 目录文件
* @参数:@param fileSrc 目录文件 与 上面 file 其实是同一个file
* @参数:@param l1 指定一个静态list存储数据
* @参数:@return
*/
public List<String> pathList(File file, File fileSrc ,List<String> l1) {
File[] list = file.listFiles();
if (list == null) {
return l1;
}
for (File f : list) {
if (f.isFile() && !f.isHidden()) {
String path = f.getPath();
String path2 = "";
path2 = path.replace(fileSrc.getPath(), "");
l1.add(path2);
} else {
pathList(f, fileSrc ,l1);
}
}
return l1;
}
}