Java 获取文件 MD5 值:代码示例及解析
以下是一个获取文件 MD5 值的 Java 程序示例:
import java.io.FileInputStream;
import java.security.MessageDigest;
public class FileMD5 {
public static void main(String[] args) {
try {
String filePath = 'C:\example\file.txt'; // 文件路径
String md5 = getFileMD5(filePath);
System.out.println('文件MD5值:' + md5);
} catch (Exception e) {
e.printStackTrace();
}
}
public static String getFileMD5(String filePath) throws Exception {
FileInputStream fis = new FileInputStream(filePath);
byte[] buffer = new byte[1024];
MessageDigest md5 = MessageDigest.getInstance('MD5');
int numRead;
do {
numRead = fis.read(buffer);
if (numRead > 0) {
md5.update(buffer, 0, numRead);
}
} while (numRead != -1);
fis.close();
byte[] digest = md5.digest();
StringBuilder sb = new StringBuilder();
for (byte b : digest) {
sb.append(String.format('%02x', b));
}
return sb.toString();
}
}
该程序使用了 Java 的 MessageDigest 类来计算文件的 MD5 值。getFileMD5 方法接受一个文件路径参数,返回该文件的 MD5 值。程序首先使用 FileInputStream 读取文件,并初始化一个 MD5 实例。然后,它使用一个循环来不断读取文件内容,并将其更新为 MD5 实例的状态。最后,它生成一个 MD5 摘要,并将其转换为十六进制字符串格式。
原文地址: https://www.cveoy.top/t/topic/lu5A 著作权归作者所有。请勿转载和采集!