亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

JAVA中獲取文件MD5值的方法有哪些

小億
200
2023-08-11 18:25:10
欄目: 編程語言

在Java中,獲取文件的MD5值的方法主要有以下幾種:

  1. 使用java.security.MessageDigest類:可以使用MessageDigest類提供的getInstance(“MD5”)方法獲取MD5算法的實例,然后通過update()方法更新數據,最后通過digest()方法獲取摘要值。
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class FileMD5 {
public static String getFileMD5(File file) throws NoSuchAlgorithmException, IOException {
MessageDigest md5Digest = MessageDigest.getInstance("MD5");
FileInputStream fis = new FileInputStream(file);
byte[] buffer = new byte[8192];
int length;
while ((length = fis.read(buffer)) != -1) {
md5Digest.update(buffer, 0, length);
}
fis.close();
byte[] digest = md5Digest.digest();
StringBuilder sb = new StringBuilder();
for (byte b : digest) {
sb.append(String.format("%02x", b));
}
return sb.toString();
}
}
  1. 使用Apache Commons Codec庫:Apache Commons Codec庫提供了DigestUtils類,其中包含了獲取MD5值的靜態方法md5Hex()。
import org.apache.commons.codec.digest.DigestUtils;
public class FileMD5 {
public static String getFileMD5(File file) throws IOException {
return DigestUtils.md5Hex(new FileInputStream(file));
}
}
  1. 使用Java 7的NIO包:Java 7的NIO包中提供了獲取文件MD5值的方式,使用java.nio.file包中的Files類的靜態方法readAllBytes()讀取文件內容,然后使用java.security.MessageDigest類進行摘要計算。
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class FileMD5 {
public static String getFileMD5(File file) throws NoSuchAlgorithmException, IOException {
MessageDigest md5Digest = MessageDigest.getInstance("MD5");
Path filePath = Paths.get(file.getAbsolutePath());
byte[] fileBytes = Files.readAllBytes(filePath);
byte[] digest = md5Digest.digest(fileBytes);
StringBuilder sb = new StringBuilder();
for (byte b : digest) {
sb.append(String.format("%02x", b));
}
return sb.toString();
}
}

這些方法都可以獲取文件的MD5值,可以根據具體的需求選擇適合的方法。

0
抚顺市| 松溪县| 福建省| 九江县| 广昌县| 乌拉特中旗| 汝州市| 德安县| 葵青区| 胶南市| 卢龙县| 霍城县| 台山市| 温泉县| 电白县| 卓资县| 阆中市| 长丰县| 工布江达县| 尼木县| 阿巴嘎旗| 海丰县| 松江区| 望江县| 墨竹工卡县| 漳平市| 济宁市| 舒城县| 孟津县| 遵义县| 乐业县| 毕节市| 定安县| 河源市| 竹溪县| 霍林郭勒市| 长泰县| 潞西市| 宜昌市| 长治县| 龙川县|