package com.gota.demo.lj; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.Arrays; public class FileChangedChecker { private String fileName; private MessageDigest md; private byte[] md5; private long lastModify; public FileChangedChecker(String fileName) { this.fileName = fileName; try { md = MessageDigest.getInstance("MD5"); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } } public boolean checkByModifyTime() { File file = new File(fileName); long curModify = file.lastModified(); boolean isChanged = curModify != lastModify; if(isChanged) lastModify = curModify; return isChanged; } public boolean checkByMd5() { FileInputStream in = null; boolean isChanged = false; try { in = new FileInputStream(fileName); byte[] buf = new byte[in.available()]; md.update(buf); byte[] curMd5 = md.digest(); isChanged = !Arrays.equals(curMd5, md5); if(isChanged) md5 = curMd5; } catch (IOException e) { e.printStackTrace(); } finally { if(in != null) { try { in.close(); } catch (IOException e) { e.printStackTrace(); } } } return isChanged; } }
最近下载更多
rohgeo LV1
2023年9月8日
x15000926787 LV1
2019年8月2日
Song ling LV6
2019年6月25日
a3870764722a LV22
2019年6月13日
lvgaojian LV1
2019年5月23日
kingkick20 LV1
2018年2月8日
最代码官方 LV168
2017年6月11日
watfgzs LV21
2014年11月30日
zxwxiao LV14
2014年11月6日
terryang LV19
2014年2月19日
最近浏览更多
rohgeo LV1
2023年9月8日
adimgaoshou LV10
2022年9月6日
huangjie123456 LV5
2022年4月22日
hekewen1 LV7
2021年5月6日
329512801 LV28
2020年5月26日
zx8861 LV3
2020年1月15日
ljcute LV1
2020年1月7日
x15000926787 LV1
2019年8月2日
lcjz99 LV11
2019年7月3日
Song ling LV6
2019年6月25日