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;
}
/**
* 推荐此方法获取文件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值
- 【Android】java 获取文件MD5值
- 我的Java开发学习之旅------>工具类:Java获取字符串和文件进行MD5值
- JAVA获取文件MD5值
- JAVA获取字符串或者文件的MD5值
- java获取文件的md5值
- jni中调用java方法获取当前apk的签名文件md5值
- 获取大文件MD5值(JAVA)
- jni中调用java方法获取当前apk的签名文件md5值
- java获取一份文件的MD5值
- JAVA中获取文件MD5值的四种方法
- java获取大文件MD5值的两个方法
- java 获取字符串或文件的md5值
- JAVA中获取文件的MD5值的几种方法
- 获取文件MD5值(JAVA代码)
- java 获取文件的MD5值
- JAVA中获取文件MD5值的四种方法
- java获取文件md5值
- java获取文件的md5值
- JAVA中获取文件MD5值的四种方法