[英]Read in big files and create a checksum in java
我想創建大文件的哈希校驗和。 不幸的是,Netbeans顯示了一個錯誤:“線程“ Thread-3”中的異常java.lang.OutOfMemoryError:所需的數組大小太大”
因此,我認為“ byte [] byteStream = Files.readAllBytes(path);” 為此不工作。
你能告訴我達到目標的最佳方法是什么?
到目前為止,我的代碼:
for (Path path : ArrayOfFilePathes) {
byte[] byteStream = Files.readAllBytes( path );
if ( GUI.bMd5Selected == true ) {
checksume = "MD5";
string = DigestUtils.md5Hex( byteStream );
}else{
checksume = "Sha256";
string = DigestUtils.sha256Hex(byteStream);
}
謝謝!
您要使用MappedByteBuffer
。 這將使您像對待整個文件一樣將其視為在內存中,但保留基礎類來整理何時加載位以及何時清除位。 就CPU時間和內存開銷而言,這非常有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.