[
https://issues.apache.org/jira/browse/COMPRESS-574?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17324201#comment-17324201
]
Gaël Lalire commented on COMPRESS-574:
--------------------------------------
> For this case, I think we can implement it with existing APIs like this :
Yes that what we did but
File.createTempFile
how do you size the temporary directory ? if you have files whose size is 8Go
and a lot of clients. And because you write to disk and read from it, you will
need very good I/O, SSD at least and with too many clients your download server
will start to slow down. Also a third problem I did not mention is the time
before the client receive the first byte, we wait for the ZIP creation to be
complete before creating the ZipIS.
> For this case, why we need to read a specific range of bytes of entries from
>a zip?
> I think most people will never use this.
Yes of course most people won't use it. The purpose is to limit resources usage
so you can manage a lot more of clients for the same server price. Most people
don't need ZIP64, but you support it.
> Byte range support in archive creation
> --------------------------------------
>
> Key: COMPRESS-574
> URL: https://issues.apache.org/jira/browse/COMPRESS-574
> Project: Commons Compress
> Issue Type: Improvement
> Components: Archivers
> Reporter: Gaël Lalire
> Priority: Minor
> Attachments: DynamicZip.java, DynamicZipTest.java
>
>
> When you have a ZIP which contains _N_ components and you want to let the
> user choose which components it needs, you need to create _2^N - 1_ ZIP.
> So the idea is to store each component once (or twice if you want both
> deflated and stored version), and create the ZIP on the fly.
> For the moment you can stream with a ZipOutputStream but if you need an
> InputStream things get a lot harder. I guess programs are writing the ZIP to
> a file system and read from it after, so not really a streaming anymore.
> Also ZipOutputStream will never allow you to resume from a byte range, you
> need to generate all previous data.
> So I made a class to do that, I think such functionality has its place in
> commons compress.
> You can see my code attached and adapt it for better integration / other
> archive type support or simply to get inspired.
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)