Java如何判断一个文件(夹)被重命名过,除了使用md5码校验?

http://m.wendangku.net/doc/c0676e47a26925c52dc5bf16.html Java如何判断一个文件(夹)被重命名过,除了使用md5码校验?

使用File的lastModify方法是不行的,又不想使用md5码来校验,不使用md5来判断是因为md5算法运算大文件时耗时间。况且内容不改变,只改变文件名。

后来使用lastModify+文件的绝对路径来作为依据判断,我做了2个Map来映射,新map和旧map不匹配则会产生新增和删除这2个结果。

这样用来判断文件还是可以的但是文件夹就不行了。如果文件夹下面还有文件(夹),也会被误认为重命名。

有什么其他解决办法吗?或者代码应该如何修改更加好?

代码如下:

public class Main {

public Map map = new HashMap();

public String baseFilePath;

public static void main(String[] args) throws IOException, InterruptedException {

String baseFilePath = "D:\\md5";

Main m = new Main(baseFilePath);

Map oldMap = m.getFileInfo(baseFilePath);

//很长时间过去了

//-------------------各种操作:文件(夹)或修改或删除或新增

----------------

File oldFile = new File(baseFilePath+"\\ddd.txt");//删除

oldFile.delete();

相关推荐
相关主题
热门推荐