Я пытаюсь реализовать это описание алгоритма из предыдущего вопроса я был здесь в StackOverflow:IndexOutOfBoundsException при чтении из ZipInputStream Java
suppressing or not allowing the access time to be modified java
так я реализовал в
byte[] digest = new byte[this.BUFFER];
MessageDigest md5;
try {
md5 = MessageDigest.getInstance("MD5");
while(entry.getNextEntry() != null){
ZipEntry current = entry.getNextEntry();
if(current.isDirectory()){
digest = this.encodeUTF8(current.getName());
md5.update(digest);
}
else{
entry.read(digest, 0, this.BUFFER);
md5.update(digest);
}
}
digest = md5.digest();
entry.close();
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Однако , Я получаю исключение в потоке «main» java.lang.IndexOutOfBoundsException в инструкции else. Кто-нибудь знает, почему? Кроме того, не могли бы вы рассказать мне, правильно ли был реализован мой алгоритм?
что я должен использовать вместо того, чтобы знать, если есть запись, которую нужно прочитать? – cybertextron
См. Мой отредактированный ответ. –
Размер: 0 Имя: gs_info/ Размер: 624 Имя: gs_info/adobeillustrator.des Исключение в потоке «главный» java.lang.IndexOutOfBoundsException так, когда дело доходит до чтения этого файла и его задачи на MD5, я получаю это – cybertextron