文件目录对比思路。

最近的项目中需要用到文件对比算法,
  就是像 beyond compare这个工具类似,需要对比两个目录下的文件差异,

  将不同的文件,或者目录高亮显示 。 没有的在右边显示 “{缺}” 既可。 (规则比较简单: 按文件大小或者文件夹大小比较)

 

 

 小弟不才, 琢磨了好几天,都没什么思路。

  急求eyer大牛们的帮助。 希望大伙出出主意,不求代码,只求给个清晰的思路,或者提示。。

 

static  long totalSize = 0;
  public static void visit(File f) {
      totalSize += f.length();  
  }

  public static void walk(File f) {
    visit(f);  
    if (f.isDirectory()) {  
      String list[] = f.list();  
     for (int i = 0; i < list.length; i++)
       walk(new File(f, list[i]));
   }
 }

//测试

public static void main(String args[]) {
walk(new File("/tmp/cc"));
System.out.println("totalSize=" + totalSize);
}[code="java"][/code]

//上面是枚举一个目录下的文件,并计算出定级目录的大小。

是否可以考虑 扩展File对象
加一个标识
flag
0表示左右都有
1表示左边有右边没有
-1表示左边没有右边有

对文件目录的文件遍历
即重新给扩展File对象的flag赋值的过程

然后再把结果draw出来

查找,排序,比较