Моя папка Zipped содержит подпапку с файлами, но при ее извлечении я не могу достичь той же иерархии.Я получаю распакованную структуру следующим образом: -
/ storage / emulated / 0 / unzipped_folder / sub_folder \ main.png /storage/emulated/0/unzipped_folder/sub_folder\test.xml
Таким образом, при извлечении я не могу получить sub_folder в качестве каталога.При извлечении zip-файла я использую приведенный ниже код.
public static void unzip(String zipFile, String location) throws IOException {
try {
File f = new File(location);
if (!f.isDirectory()) {
f.mkdirs();
}
ZipInputStream zin = new ZipInputStream(new FileInputStream(zipFile));
try {
ZipEntry ze = null;
while ((ze = zin.getNextEntry()) != null) {
String path = location + File.separator + ze.getName();
if (ze.isDirectory()) {
File unzipFile = new File(path);
if (!unzipFile.isDirectory()) {
unzipFile.mkdirs();
}
} else {
FileOutputStream fout = new FileOutputStream(path, false);
try {
for (int c = zin.read(); c != -1; c = zin.read()) {
fout.write(c);
}
zin.closeEntry();
} finally {
fout.close();
}
}
}
} finally {
zin.close();
}
} catch (Exception e) {
e.printStackTrace();
Log.e("ZIP STU", "Unzip exception", e);
}
}
Пожалуйста, помогите, я застрял в этом более чем на 2 дня.Спасибо!