Java 解压缩包含大量小文件的文件
我有很多拉链和大量的文件,我必须解压缩到SD卡 目前,我正在为拉链中的每个文件使用Java 解压缩包含大量小文件的文件,java,android,zip,extract,Java,Android,Zip,Extract,我有很多拉链和大量的文件,我必须解压缩到SD卡 目前,我正在为拉链中的每个文件使用util.zip包和Zipentry。这很好,但速度很慢 所以我想知道是否有一个lib可以比Java/Android的普通zip更快地处理这些文件 编辑:ZIP是档案,大约5到10MB大,包含大约50到100个jpg文件,每个文件都是图片的一部分。我需要提取所有拉链到一个特定的文件夹。 慢速意味着在IPhone上提取相同文件的时间很短 编辑2代码: ZipInputStream zin = new ZipInput
util.zip
包和Zipentry
。这很好,但速度很慢
所以我想知道是否有一个lib可以比Java/Android的普通zip更快地处理这些文件
编辑: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();
你能做的最好的情况就是走自己的路。另外,谷歌甚至在zlib上的NDK中提供了受支持的头文件/API。请举例说明“大量文件”和“非常慢”的含义。你好,卢卡斯,我编辑了我的问题,希望现在问题更清楚。