我在 android 中制作了一个应用程序,可以让用户压缩和解压缩文件,我使用了 package java.util.zip
。一切正常。速度,文件与目录一起完全压缩和解压缩。唯一的问题是应用程序无法压缩/解压缩大文件(大于 1gb)。
我相信问题是我的buffer
. 我见过的其他代码,其缓冲区的值为 1024 或 2048 或 8192,但我的缓冲区值基于所选文件的大小(只是为了使其灵活)。但是一旦用户选择了一个大文件(大小超过 8 位),就会出现错误。我在网上搜索过,也在这个网站上搜索过,但我找不到答案。我的问题与此类似:
感谢您未来的帮助!:)
编辑:
感谢您的评论和回答。它真的帮了很多忙。我认为BUFFER
在 java 中压缩/解压缩意味着文件的大小,所以在我的程序中,我使缓冲区大小变得灵活(缓冲区大小 = 文件大小)。有人可以解释一下缓冲区是如何工作的,这样我就可以理解为什么它可以BUFFER
具有固定值。我也想弄清楚为什么其他人会说如果缓冲区大小为 8k 或其他情况会好得多。非常感谢!:)