java.io.EOFException: неожиданный конец входного потока ZLIB
Привет, ребята, тестируя мой инструмент извлечения tar.gz, я обнаружил выброшенное исключение:
java.io.EOFException: неожиданный конец входного потока ZLIB в java.util.zip.InflaterInputStream.fill(Неизвестный источник) в java.util.zip.InflaterInputStream.read(Неизвестный источник) at java.util.zip.GZIPInputStream.read(неизвестный источник) at sun.nio.cs.StreamDecoder.readBytes(неизвестный источник) at sun.nio.cs.StreamDecoder.implRead(неизвестный источник) at sun.nio.cs.StreamDecoder.read(неизвестный источник) at java.io.InputStreamReader.read(Неизвестный источник) at java.io.BufferedReader.fill(Неизвестный источник) at java.io.BufferedReader.readLine(неизвестный источник) at java.io.BufferedReader.readLine(неизвестный источник) at it.uniroma2.informatica.specialistica.IO.ScanCompressedFileUtil.main(ScanCompressedFileUtil.java:60
Итак, код в строке 60:
BufferedReader bufLe= reader.remove();
try {
while ( bufLe.ready() ){
System.out.println(" "+bufLe.readLine());
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
где вызывает buffer.readLine (), выдает исключение. Когда я открывал tar.gz, я сохранял поток всех отдельных файлов, например BuffReader, затем помещал их в связанный список, а затем закрывал буфер открытого файла tar.gz. Но когда я вставляю элемент в связанный список, а затем пытаюсь читать построчно. У меня есть исполнение..
У кого-то есть IDEa, почему у меня есть исключение??? Может быть, я ошибаюсь, когда перебираю файлы в tar.gz?? для этого у меня есть код:
TarInputStream is = new TarInputStream(gzipInputStream);
TarEntry entryx = null;
try {
while((entryx = is.getNextEntry()) != null) {
InputStream tmpInx = new StreamingTarEntry(is, entryx.getSize());
// questo viene invocato perchè il file da lettere è un file txt
manageTxtinsideTAR(tmpInx , buffer);
// I add the stream to a linked list
Класс STREAMINGTARENTRY расширяет FilterInputStream, поэтому он только оборачивает поток.
1 ответ
Это может быть связано с ошибкой JVM http://bugs.sun.com/bugdatabase/view_bug.do;jsessionid=53ede10dc8803210b03577eac43?bug_id=6519463
Смотрите мой ответ для более подробной информации по этому связанному вопросу /questions/43046023/java-extract-zip-neozhidannyij-konets-vhodnogo-potoka-zlib/43046025#43046025