我的 85MB 大小的 SQLite db 文件使用 XZ 格式压缩,其大小已减少到 16MB。我使用以下代码(以及XZ 为 Java提供的 JAR )在 Android Jelly Bean 中解压它:
try {
FileInputStream fin = new FileInputStream(path + "myFile.xz");
BufferedInputStream in = new BufferedInputStream(fin);
FileOutputStream out = new FileOutputStream(des + "myDecompressed");
XZInputStream xzIn = new XZInputStream(in);
final byte[] buffer = new byte[8192];
int n = 0;
while (-1 != (n = xzIn.read(buffer))) {
out.write(buffer, 0, n);
}
out.close();
xzIn.close();
}
catch(Exception e) {
Log.e("Decompress", "unzip", e);
}
解压成功,但需要两分钟多才能完成。我认为这很长,因为压缩文件只有 16MB,未压缩文件只有 85MB。
我想知道我是否对代码做错了什么,或者有什么方法可以加快这个解压缩过程。