gpt4 book ai didi

java - 如何加快 Java/Android 中的解压缩时间?

转载 作者:IT老高 更新时间:2023-10-28 20:56:35 24 4
gpt4 key购买 nike

在 android 上解压缩文件似乎非常慢。起初我以为这只是模拟器,但在手机上似乎是一样的。我尝试了不同的压缩级别,最终下降到存储模式,但仍然需要很长时间。

总之,一定是有原因的!还有其他人有这个问题吗?我的解压方法是这样的:

public void unzip()
{
try{
FileInputStream fin = new FileInputStream(zipFile);
ZipInputStream zin = new ZipInputStream(fin);
File rootfolder = new File(directory);
rootfolder.mkdirs();
ZipEntry ze = null;
while ((ze = zin.getNextEntry())!=null){

if(ze.isDirectory()){
dirChecker(ze.getName());
}
else{
FileOutputStream fout = new FileOutputStream(directory+ze.getName());

for(int c = zin.read();c!=-1;c=zin.read()){
fout.write(c);
}
//Debug.out("Closing streams");
zin.closeEntry();
fout.close();

}
}
zin.close();
}
catch(Exception e){
//Debug.out("Error trying to unzip file " + zipFile);

}
}

最佳答案

我不知道在 Android 上解压缩是否很慢,但在循环中逐字节复制肯定会更慢。尝试使用 BufferedInputStream 和 BufferedOutputStream - 它可能会更复杂一些,但根据我的经验,这最终是值得的。

BufferedInputStream in = new BufferedInputStream(zin);
BufferedOutputStream out = new BufferedOutputStream(fout);

然后你可以这样写:

byte b[] = new byte[1024];
int n;
while ((n = in.read(b,0,1024)) >= 0) {
out.write(b,0,n);
}

关于java - 如何加快 Java/Android 中的解压缩时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4504291/

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