package com.test;
import java.io.File;
import java.util.Iterator;
import java.util.Map;
import java.util.SortedMap;
import java.util.TreeMap;
public class CompareFiles {
/**
* @param args
*/
public static void main(String[] args) {
SortedMap UATMap = new TreeMap();
SortedMap packageMap = new TreeMap();
File f = new File("C://Documents and Settings//th04008//Desktop//com-pakgPRD");
addFile(f, UATMap);
f = new File("C://Documents and Settings//th04008//Desktop//com-pakgUAT");
addFile(f, packageMap);
System.out.println("BAU size: " + UATMap.size());
System.out.println("Package size: " + packageMap.size());
Iterator iter1 = UATMap.keySet().iterator();
while(iter1.hasNext()){
String key = (String) iter1.next();
if(!packageMap.containsKey(key)){
System.out.println("key exists in packageUAT but not exist in packagePRD:" + key);
}
}
Iterator iter2 = packageMap.keySet().iterator();
while(iter2.hasNext()){
String key = (String) iter2.next();
if(!UATMap.containsKey(key)){
System.out.println("key exists in packagePRD but not exist in packageUAT:" + key);
}
}
Iterator iter = UATMap.keySet().iterator();
int a = 0;
while(iter.hasNext()){
String key = (String) iter.next();
String uatSize = (String) UATMap.get(key);
String packageSize = (String) packageMap.get(key);
if(!uatSize.equals(packageSize)){
System.out.println(key + ": packageUAT Size: " + uatSize + "; packagePRD Size: " + packageSize );
}
a++;
}
System.out.println("iterate times: " + a);
}
private static void addFile(File f, Map UATMap){
if(f.isFile()){
long length = f.length();
String fileName = f.toString().substring(53);
UATMap.put(fileName, String.valueOf(length));
} else if(f.isDirectory()){
File[] files = f.listFiles();
for(int i=0;i<files.length;i++){
File tempFile = files[i];
addFile(tempFile,UATMap);
}
}
}
}
import java.io.File;
import java.util.Iterator;
import java.util.Map;
import java.util.SortedMap;
import java.util.TreeMap;
public class CompareFiles {
/**
* @param args
*/
public static void main(String[] args) {
SortedMap UATMap = new TreeMap();
SortedMap packageMap = new TreeMap();
File f = new File("C://Documents and Settings//th04008//Desktop//com-pakgPRD");
addFile(f, UATMap);
f = new File("C://Documents and Settings//th04008//Desktop//com-pakgUAT");
addFile(f, packageMap);
System.out.println("BAU size: " + UATMap.size());
System.out.println("Package size: " + packageMap.size());
Iterator iter1 = UATMap.keySet().iterator();
while(iter1.hasNext()){
String key = (String) iter1.next();
if(!packageMap.containsKey(key)){
System.out.println("key exists in packageUAT but not exist in packagePRD:" + key);
}
}
Iterator iter2 = packageMap.keySet().iterator();
while(iter2.hasNext()){
String key = (String) iter2.next();
if(!UATMap.containsKey(key)){
System.out.println("key exists in packagePRD but not exist in packageUAT:" + key);
}
}
Iterator iter = UATMap.keySet().iterator();
int a = 0;
while(iter.hasNext()){
String key = (String) iter.next();
String uatSize = (String) UATMap.get(key);
String packageSize = (String) packageMap.get(key);
if(!uatSize.equals(packageSize)){
System.out.println(key + ": packageUAT Size: " + uatSize + "; packagePRD Size: " + packageSize );
}
a++;
}
System.out.println("iterate times: " + a);
}
private static void addFile(File f, Map UATMap){
if(f.isFile()){
long length = f.length();
String fileName = f.toString().substring(53);
UATMap.put(fileName, String.valueOf(length));
} else if(f.isDirectory()){
File[] files = f.listFiles();
for(int i=0;i<files.length;i++){
File tempFile = files[i];
addFile(tempFile,UATMap);
}
}
}
}
本文介绍了如何通过Java代码比较两个文件夹中的文件大小,并输出存在差异的文件名及大小。程序通过遍历文件夹,将文件名及其大小存储到TreeMap中,然后对比两组数据,找出只存在于其中一个文件夹但不存在于另一个文件夹的文件,以及大小不匹配的文件。

被折叠的 条评论
为什么被折叠?



