2

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

4

2 回答 2

0

如果你这样做怎么办:

假设您(大致)知道文件的压缩率...您获取的前几个文件不超过例如 2MB。如果压缩率为 50%,最后你会得到 1MB 的文件。你重复这个过程,直到你压缩所有文件......

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

于 2012-09-05T10:27:28.133 回答
0

我们最近需要做一些类似的事情(不是在 Android 上,但原理是一样的)。我们提出了一个MultiFileOutputStream,它写入一系列固定大小的“块”和一个相应的输入流,该输入流将这些块重新组合成一个流。我们在多文件流之上分层了一个公共压缩TAR 流,但您同样可以使用 zip 流。

于 2012-09-05T11:27:09.377 回答