gpt4 book ai didi

java - 使用内存将文件添加到 zip java,同时避免保留文件名问题

转载 作者:太空宇宙 更新时间:2023-11-04 07:33:10 26 4
gpt4 key购买 nike

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

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

在图像中:/image/yPuYG.png

最佳答案

您可以使用内存基础流(例如ByteArrayOutputStream)来读取/写入文件的内容。

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

为了尝试并乐观地处理该过程,您可以为读/写/处理操作设置首选阈值。

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

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

关于java - 使用内存将文件添加到 zip java,同时避免保留文件名问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17398076/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com