java 获取md5值报错_java获取文件的MD5值
package com.sichang.util;
import java.io.File;
import java.io.FileInputStream;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.util.HashMap;
import java.util.Map;
public class FileDigest {
/**
* 獲取單個文件的MD5值!
*/
public static String getFileMD5(File file) {
if (!file.isFile()){
return null;
}
MessageDigest digest = null;
FileInputStream in=null;
byte buffer[] = new byte[1024];
int len;
try {
digest = MessageDigest.getInstance("MD5");
in = new FileInputStream(file);
while ((len = in.read(buffer, 0, 1024)) != -1) {
digest.update(buffer, 0, len);
}
in.close();
} catch (Exception e) {
e.printStackTrace();
return null;
}
BigInteger bigInt = new BigInteger(1, digest.digest());
return bigInt.toString(16);
}
/**
* 獲取文件夾中文件的MD5值
* @param ?listChild ;true遞歸子目錄中的文件
*/
public static Map getDirMD5(File file,boolean listChild) {
if(!file.isDirectory()){
return null;
}
//
Map map=new HashMap();
String md5;
File files[]=file.listFiles();
for(int i=0;i
File f=files[i];
if(f.isDirectory()&&listChild){
map.putAll(getDirMD5(f, listChild));
} else {
md5=getFileMD5(f);
if(md5!=null){
map.put(f.getPath(), md5);
}
}
}
return map;
}
}
總結(jié)
以上是生活随笔為你收集整理的java 获取md5值报错_java获取文件的MD5值的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python信息管理系统统计功能_用Py
- 下一篇: java 过滤攻击报文_Spring B