打电话时例外



我想提出一个用于计算空文件hashvalue的问题。当文件F首先创建并为空时,我需要计算hash_value。然后,最后,我将再次更新hash_value。我的代码不适用于Windows OS。你能告诉我如何处理吗?谢谢。

            objectFile = File(fullFilePath);
            fileInputStream = FileInputStream(objectFile);
            data = IOUtils.toString(fileInputStream, 'UTF-8');
            persistent digest;            
            if isempty(digest)
                digest = MessageDigest.getInstance('SHA-256');
            end
            hash = digest.digest(java.lang.String(data).getBytes('UTF-8'));

错误消息

    digest.digest(java.lang.String(data).getBytes('UTF-8'))
    Java exception occurred:
    java.lang.NullPointerException
        at java.security.MessageDigest.update(Unknown Source)
        at java.security.MessageDigest.digest(Unknown Source)

看起来 data是null的,所以代替以下语句:

hash = digest.digest(java.lang.String(data).getBytes('UTF-8'));

您可以写这件事:

if isEmpty(data)
    hash = 0;
else
    hash = digest.digest(java.lang.String(data).getBytes('UTF-8'));
end

相关内容

  • 没有找到相关文章

最新更新