以下是一个获取文件 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 摘要,并将其转换为十六进制字符串格式。

Java 获取文件 MD5 值:代码示例及解析

原文地址: https://www.cveoy.top/t/topic/lu5A 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录