The Java JDK includes various means of creating/consuming compressed files.
What is missing is easy way of creating lazy streamed zip archive, in spirit of
java.util.zip.DeflaterInputStream
.
This implementation relies on the fact that the PKZIP specification
allows archiving data streams of sizes not known upfront. This implies that
the archives produced will be readable only by tools aware of this trick.
Notably, java.util.zip.ZipInputStream
is OK with that, so we use it to
test compatibility.
ZipperInputStream lzis = new ZipperInputStream(...);
See more detailed example in io.github.tsabirgaliev.ZipperInputStreamTest