社区
Java SE
帖子详情
求助:如何比较两个文件夹是否一致?
echoeleen
2007-07-17 11:32:12
比较两个文件夹下文件的数量,名称和大小?谢谢!:)
...全文
1416
5
打赏
收藏
求助:如何比较两个文件夹是否一致?
比较两个文件夹下文件的数量,名称和大小?谢谢!:)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
echoeleen
2007-08-06
打赏
举报
回复
我的解决方法是这样的,供大家参考,也请高手给予批评指正:
package test;
import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Arrays;
import jcifs.smb.SmbException;
import jcifs.smb.SmbFile;
import jcifs.smb.SmbFileOutputStream;
import hz365.JDBCConnInfo;
/**
* 检查2个文件夹下的文件是否一样(数量,名称,大小),定时自动检查 1.检查文件的总数是否一致 2.检查文件的名称是否一致
* 3.检查相同名称的文件大小是否一致
*
* @author echo
*
*/
public class FileTest {
public String testFile(File file1, File file2) {
String path1 = "";
String path2 = "";
String msg = "";
path1 = file1.getPath();
path2 = file2.getPath();
if (file1.isDirectory()) {
if (file2.isDirectory()) {
String[] fileList1 = file1.list();
String[] fileList2 = file2.list();
boolean flag = false;
if (fileList1.length != fileList2.length) {
msg = path1 + "和" + path2 + "这2个文件夹下的文件数目不一致!" + "\n";
// System.out.print(msg);
} else {
flag = Arrays.equals(fileList1, fileList2);// 判断各个文件名称是否一致,完全一致的话为true,不一致为false
// Arrays.sort(fileList1);//对文件名称进行排序
if (!flag) {
msg = path1 + "和" + path2 + "存在不一样的文件" + "\n";
// System.out.print(msg);
} else {// 判断一样文件名称的文件大小是否相同
for (int i = 0; i < fileList1.length; i++) {
File file3 = new File(path1 + "\\" + fileList1[i]);
File file4 = new File(path2 + "\\" + fileList2[i]);
if (file3.isFile()) {// file3是文件的话,file4也必然是文件
if (file3.length() != file4.length()) {
msg = file3 + "和" + file4 + "这2个文件大小不一样"+ "\n";
// System.out.print(msg);
// sendSms("13817318125", msg, "80", 0);
}
} else {// 如果file3和file4这一层是文件夹的话,就对这一层的文件夹再进行检查
testFile(file3, file4);
}
}
}
}
} else {
msg = path2 + "is not a directory!!" +"\n" ;
}
} else {
msg = path1 + "is not a directory!!" +"\n" ;
// System.out.print(msg);
}
return msg;
}
}
bcx19811023
2007-07-17
打赏
举报
回复
用数据结构递归的方式。
echoeleen
2007-07-17
打赏
举报
回复
排序?能不能说的详细点?谢谢:)
masse
2007-07-17
打赏
举报
回复
递归....
就是比较文件的时候注意排序再比较,其他没啥
chenwei1215
2007-07-17
打赏
举报
回复
学习中。
bnsmarkettool_bns_bnstool怎么用_BNS商城管理系统_
8. BnsGoodsTool.SubWindow、BnsGoodsTool.DataRepository:这
两个
可能是特定功能的子窗口类和数据访问层的实现,负责与数据库的交互,如商品信息的读写操作。 了解了这些文件的作用后,我们可以看到,BNS商城管理...
VB专业安装教程.pdf
这个步骤可能会出现不同的界面,但核心操作
一致
。 9. 其他可能的配置选项:在安装过程中还可能会出现其他一些配置选项,如
是否
将VB作为默认程序等,用户需要根据自己的需求选择合适的设置。 10. 安装完成:在完成...
【java毕业设计】java社区智慧医疗养老系统源码(springboot+vue+mysql+说明文档).zip
在代码管理方面,源码
文件夹
分为manage_code和server_code两部分。manage_code主要包含了系统的前端代码,这部分代码实现了系统界面与用户交互逻辑,以及与后端的数据交互。server_code则包含了后端的源码,这部分...
安装使用Vmware出现的问题及解决方法
通过查看网络适配器来获取网关地址,通常网关的前三个数字与IP地址
一致
,最后一个数字则为2。例如,网关地址可能是***.***.**.*。编辑完网关信息后,点击应用按钮以保存更改。然后回到命令行窗口,输入命令“service...
微信开发者工具:无法部署云函数到云端?
卡了三天,终于解决了这个头大的问题。正常来说,AI辅助写完云函数代码,并且npm install之后,点击云函数
文件夹
右键就可上传并部署到云端了。但是一直点完之后没这个选项。
求助
gpt5.1和豆包都没效果,最后trae帮我...
Java SE
62,623
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章