Напишите размер с помощью java.util.zip - PullRequest
0 голосов
/ 30 мая 2018

Я заметил, что при создании файла .zip с использованием библиотеки java.util.zip размер не записывается должным образом, и поэтому

zipEntry.getSize; //created with a ZipInputStream (zipEntry = zis.getNextEntry())
zipEntry.getCompressedSize();

оба всегда возвращают -1.

Этого не произойдет, если я создам zipEntry с ZipFile и Enumeration - что я не могу сделать в данном конкретном случае.

Как заставить библиотеку правильно писать размеры?

1 Ответ

0 голосов
/ 30 мая 2018

Я попробовал следующий код, и возвращенные размеры были хорошими.

ZipInputStream zis = new ZipInputStream(new FileInputStream(new File("/tmp/foo.zip")));
ZipEntry entry = zis.getNextEntry();
System.out.println(entry.getSize());
System.out.println(entry.getCompressedSize());
zis.close();

Я думаю, что проблема не в том, как вы вызываете библиотеку, а в том, что вы можете получить файл zip.

...