2017-02-20 11 views
-4

Я хотел бы задать вопрос для вычисления hashvalue для пустого файла. Мне нужно вычислить значение hash_value, когда файл f сначала создается и пуст. Затем, в конце, я снова обновлю 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

Ваш код даже не приближается к компилированным ng, для начала. –

+0

Ваш код выглядит как скрипт вместо java-кода. – Maverick

+0

Да, сценарий matlab – susanne

ответ

-1

Похоже data равна нулю, так что вместо следующего утверждения:

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 
+0

@downvoter причина для downvote? –