比较2个目录中,哪些文件是重复的,哪些文件是不重复的!
来源:互联网 发布:seo外链群发工具 编辑:程序博客网 时间:2024/05/20 02:28
package p;
import java.io.*;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
* 比较2个目录中,哪些文件是重复的,哪些文件是不重复的。
*
*
*
*/
public class Demo {
public List fileList = new ArrayList();
public static void main(String[] args) {
String dir1 = "C:\\ear\\tom\\WEB-INF\\classes\\com";
String dir2 = "C:\\ear\\tom\\WEB-INF\\_srv\\work";
List arrayList1 = new Demo().getListFiles(dir1, "class", true);
List arrayList2 = new Demo().getListFiles(dir2, "class", true);
int ii = 0;
for (Iterator iter2 = arrayList2.iterator(); iter2.hasNext();) {
boolean b = false;
String element2 = (String) iter2.next();
String s2 = element2.substring(element2.indexOf("com\\"));
for (Iterator iter1 = arrayList1.iterator(); iter1.hasNext();) {
String element1 = (String) iter1.next();
String s1 = element1.substring(element1.indexOf("com\\"));
if (s2.compareTo(s1) == 0) {
System.err.println("重复的文件有:"+s2+"\n"+s1+"\n"+(ii+1)+"===="+element1+"\n-----------------------------------");
b = true;
break;
}
}
if (!b) {
System.err.println("目录2中有,但在目录1中没有的class文件有:" + element2);
}
ii++;
}
}
/**
*
* @param path
* 文件路径
* @param suffix
* 后缀名
* @param isdepth
* 是否遍历子目录
* @return
*/
public List getListFiles(String path, String suffix, boolean isdepth) {
File file = new File(path);
return listFile(file, suffix, isdepth);
}
public List listFile(File f, String suffix, boolean isdepth) {
// 是目录,同时需要遍历子目录
if (f.isDirectory() && isdepth == true) {
File[] t = f.listFiles();
for (int i = 0; i < t.length; i++) {
listFile(t[i], suffix, isdepth);
}
} else {
String filePath = f.getAbsolutePath();
if (suffix != null) {
int begIndex = filePath.lastIndexOf(".");// 最后一个.(即后缀名前面的.)的索引
String tempsuffix = "";
if (begIndex != -1)// 防止是文件但却没有后缀名结束的文件
{
tempsuffix = filePath.substring(begIndex + 1, filePath
.length());
}
if (tempsuffix.equals(suffix)) {
fileList.add(filePath);
}
} else {
// 后缀名为null则为所有文件
fileList.add(filePath);
}
}
return fileList;
}
}
- 比较2个目录中,哪些文件是重复的,哪些文件是不重复的!
- 下面哪些能力是比较重要的
- css中哪些元素是块级的,哪些是内联的。
- 下列关于文件索引结构的叙述中,哪些是正确的?
- 排序文件中的N个不重复的正整数
- 哪些数据库是免费的?
- 哪些人是有罪的?
- c++的应用领域是哪些?
- Java哪些集合的 元素不能重复
- 哪些图形算法是不能用GPU来计算的?
- 关于内存泄漏,还有哪些是你不知道的?
- 关于内存泄漏,还有哪些是你不知道的?
- 查找当前目录的重复文件
- 头文件被重复包含有哪些危害?
- linux的/proc是个什么样的文件目录?
- PAT 1041. Be Unique (20)(判断第一个不重复出现的数字是哪个)
- git怎么查看哪些文件是在版本控制下的呢
- 算法导论----VLSI芯片测试; n个手机中过半是好的,找出哪些是好手机
- Strobe创始人:HTML5是未来发展的趋势 但并非你想象中的那样
- oracle调用Java 类,遍历指定文件夹
- 弄清无线AP与无线路由区别
- Google Chrome OS安全到不需要安全措施了吗?
- 怎样在SQL 2005的Microsoft SQL Server Management Studio Express管理器中导入/导出数据
- 比较2个目录中,哪些文件是重复的,哪些文件是不重复的!
- Ubuntu MySQL数据库导入导出详解
- PopupService.cs_1130
- Syntax error: "(" unexpected出错原因
- 加入Facebook后,Strobe创始人谈Web App发展的关键问题
- HMODULE是什么?
- ModifyStyle
- /etc/shadow
- 通过域名(主机名)访问Linux