您的位置:首页 > 编程语言 > Java开发

JAVA获取文件的MD5值

2017-07-24 20:20 471 查看
1.推荐如下方法:

/**
* 推荐此方法获取文件MD5
* @param path 文件路径
* @return
*/
public static String getMd5File(String path){
String md5 = null;
try {
FileInputStream fis= new FileInputStream(path);
md5 = DigestUtils.md5Hex(IOUtils.toByteArray(fis));
IOUtils.closeQuietly(fis);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return md5;
}

2.下面这个方法也尝试过,但不知道是个人代码问题还是方法问题,偶尔会出现IO异常,因为赶项目没时间深究,先mark后续看看
/**
* @param file
* @return
* @throws FileNotFoundException
*/
public static String getMd5ByFile(File file) throws FileNotFoundException {
String value = null;
FileInputStream in = new FileInputStream(file);
try {
MappedByteBuffer byteBuffer = in.getChannel().map(FileChannel.MapMode.READ_ONLY, 0, file.length());
MessageDigest md5 = MessageDigest.getInstance("MD5");
md5.update(byteBuffer);
BigInteger bi = new BigInteger(1, md5.digest());
value = bi.toString(16);
} catch (Exception e) {
e.printStackTrace();
} finally {
if(null != in) {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return value;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java md5 文件