找出两个文件夹下不同的文件,找出两个文件夹,public class
分享于 点击 10520 次 点评:255
找出两个文件夹下不同的文件,找出两个文件夹,public class
public class NotExsitsByDir { private static List<String> l1 = new ArrayList<String>(); private static List<String> l2 = new ArrayList<String>(); /** * @方法功能说明: * @参数:@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; }}//该片段来自于http://byrx.net
用户点评