1

我想使用最有效的方式添加、删除或修改 zip 文件。

是的,您可能会说我应该将文件解压缩/压缩到文件系统中,但是如果有一个具有特殊名称的文件,如 ' aux ' 或 ' con ' ,它在 Windows 中不起作用,因为它们是 DOS 设备名称,并且可能存在阻止进程正常工作的文件名编码问题。我不只是解压缩到文件系统并重新压缩的另一个原因是它比仅使用 RAM 更慢并且占用更多磁盘空间。

图片中:http: //i.stack.imgur.com/yPuYG.png

4

1 回答 1

1

您可以使用基于内存的流,例如ByteArrayOutputStream读取/写入文件的内容。

问题是可用内存的数量,因为 RAM 是有限的,你需要将输出存储在更大的东西上,比如最终的磁盘。

为了尝试和优化该过程,您可以为读/写/进程操作设置一个首选阈值。

基本上,您将运行该过程并根据首选阈值计算花费多长时间,调整下一个循环的缓冲区大小。

我会允许许多循环并平均时间,这样你就不会试图对缓冲区进行精细控制,这实际上可能会减慢你的速度

于 2013-07-02T06:03:10.377 回答