如何将(使用Zip)存档到多个输出文件中

时间:2012-09-05 10:19:45

标签: java android zip archive zipfile

在Android中我想将一些文件打包到Zip档案中(使用java.util.zip)。但我对输出文件大小有限制 - 所以有可能将它们打包成多个固定大小的文件吗?

2 个答案:

答案 0 :(得分:0)

如果你这样做会怎么样:

让我们说,您知道(近似地)文件的压缩率...您首先获取不超过2MB的少量文件。如果压缩比为50%,那么最后会得到1MB的文件。你重复这个过程,直到你压缩所有的文件......

关于一个大文本文件我建议这样做。读取文件并将其写入两个/三个/四个单独的文件。您可以使用FileInputStreamFileOutputStream执行此操作...对每个部分进行压缩..解压缩后,在File(Input/Output)Stream的帮助下再次将它们粘合在一起。

答案 1 :(得分:0)

我们最近需要做类似的事情(不是在Android上,但原理是相同的)。我们想出了一个MultiFileOutputStream,它写入一系列固定大小的“块”和一个相应的input stream,它将块重新组合成一个流。我们在多文件流的顶部分层commons-compress TAR流,但您也可以使用压缩流。