簡體   English   中英

讀取大文件並在Java中創建校驗和

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM