2017-02-20 20 views
-4

空のファイルのハッシュ値を計算するための質問をしたいと思います。ファイル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) 
+0

あなたのコード:

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

は、あなたがこれを書くことができますコンパイルに近づかないng、始めに。 –

+0

あなたのコードは、Javaコードの代わりにいくつかのスクリプトのように見えます。 – Maverick

+0

はい、matlabスクリプト – susanne

答えて

-1

dataがnullであるように見えますので、代わりに次のステートメントで:

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

@downvoter downvoteの理由は? –

関連する問題