У меня много архивов с большим количеством файлов, которые я должен распаковать на SD-карту.
В настоящее время я использую пакет util.zip
с Zipentry
для каждого файла внутри почтовых индексов. Это работает нормально, но очень медленно.
Так что мне интересно, есть ли библиотека, которая может обрабатывать эти файлы быстрее, чем обычный zip-файл Java / Android.
Редактировать: zip-архивы - это архивы размером от 5 до 10 МБ, содержащие от 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();