0
我有很多拉鍊與大量的文件,我必須解壓縮到SD卡。使用大量的小文件解壓縮文件
目前我正在使用util.zip
包含Zipentry
的zip文件內的每個文件。這工作正常,但非常緩慢。
所以我想知道是否有一個lib能夠比Java/Android的普通zip更快地處理這些文件。
編輯:拉鍊是約5到10MB大,幷包含大約50至100 JPG文件,這是每個圖片的一部分。我需要將所有的壓縮文件提取到特定的文件夾。 慢意味着在一小部分時間內在iPhone上提取相同的文件。
編輯2代碼:
ZipInputStream zin = new ZipInputStream(fd);
ZipEntry ze = null;
while ((ze = zin.getNextEntry()) != null) {
System.out.println("Unzipping " + ze.getName());
if (ze.isDirectory()) {
File f = new File(targetFilePath + ze.getName());
if (!f.isDirectory()) {
f.mkdirs();
}
} else {
int size;
byte[] buffer = new byte[2048];
FileOutputStream outStream = new FileOutputStream(targetFilePath + ze.getName() + ".tile");
BufferedOutputStream bufferOut = new BufferedOutputStream(outStream, buffer.length);
while ((size = zin.read(buffer, 0, buffer.length)) != -1) {
bufferOut.write(buffer, 0, size);
}
bufferOut.flush();
bufferOut.close();
}
}
zin.close();
請舉例說明「大量文件」和「非常慢」是什麼意思。 –
嗨LUkas我編輯了我的問題,我希望現在更清楚。 – Thommy
向我們展示一些代碼。 – EJP