如何在 Android 应用程序的解压缩过程中使用确定的进度条?
我知道我需要的文件已经被处理以更新进度条,但不知道如何得出这些信息。
谢谢!
PS我用来解压缩这篇文章中的代码:https ://stackoverflow.com/a/7697493/1364296
如何在 Android 应用程序的解压缩过程中使用确定的进度条?
我知道我需要的文件已经被处理以更新进度条,但不知道如何得出这些信息。
谢谢!
PS我用来解压缩这篇文章中的代码:https ://stackoverflow.com/a/7697493/1364296
如何在 Android 应用程序的解压缩过程中使用确定的进度条?
用于ZipFile
查找条目数。使用它setMax()
来ProgressBar
设置进度上限。然后,在处理每个文件时,将进度增加 1。
对于邮政编码,请使用 this 。
public static void zip(String[] files, String zipFile) throws IOException {
BufferedInputStream origin = null;
ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(zipFile)));
try {
byte data[] = new byte[BUFFER_SIZE];
for (int i = 0; i < files.length; i++) {
FileInputStream fi = new FileInputStream(files[i]);
origin = new BufferedInputStream(fi, BUFFER_SIZE);
try {
ZipEntry entry = new ZipEntry(files[i].substring(files[i].lastIndexOf("/") + 1));
out.putNextEntry(entry);
int count;
while ((count = origin.read(data, 0, BUFFER_SIZE)) != -1) {
out.write(data, 0, count);
}
}
finally {
origin.close();
}
}
}
finally {
out.close();
}
}
在解压缩时尝试使用缓冲区,因为它会快得多