У zipfile есть список DirEntries
и endLocator
в конце файла (после всех ZipFileRecords, т.е. ZipEntries в коде).
Так что вам, вероятно, придется закрыть zipfile перед вызовом storeFtp()
, чтобы убедиться, что DirEntries
и endLocator
записаны в файл:
zos.closeEntry();
zos.close();
storeFtp("SAMPLE.zip", new ByteArrayInputStream(baos.toByteArray()));
(я не знаю Java так хорошо, поэтому не могу проверьте или проверьте полный код)
Также проверьте этот ответ.