Следующая функция распаковки не работает для всех zip-файлов.
Мой шаблон zip-файла выглядит следующим образом:
- Zip-файл содержит один XML-файл и одну папку (имя- «изображения»).
- Имя файла xml совпадает с именем файла zip.
- Папка («изображения») может содержать или не содержать какие-либо файлы.
Я проверил файл xml, прежде чем поместить его в zip-файл.
Он выдает исключение в этой строке для некоторых zip-файлов:
FileOutputStream fout = new ileOutputStream(path.substring(0,path.length()-4)+"/"+filename);
Функция:
public boolean unZip(String path)
{
InputStream is;
ZipInputStream zis;
try
{
String filename;
is = new FileInputStream(path);
zis = new ZipInputStream(new BufferedInputStream(is));
ZipEntry ze;
byte[] buffer = new byte[1024];
int count;
while ((ze = zis.getNextEntry()) != null)
{
filename = ze.getName();
if (ze.isDirectory()) {
File fmd = new File(path.substring(0,path.length()-4)+"/"+filename);
fmd.mkdirs();
continue;
}
FileOutputStream fout = new FileOutputStream(path.substring(0,path.length()-4)+"/"+filename);
while ((count = zis.read(buffer)) != -1)
{
fout.write(buffer, 0, count);
}
fout.close();
zis.closeEntry();
}
zis.close();
}
catch(IOException e)
{
e.printStackTrace();
return false;
}
return true;
}
mkdirs()
возвращает true в случае успеха или false в случае неудачи. Проверьте это значение и попытайтесь понять, почему метод не удался. - person AlexR   schedule 23.06.2014ze
не является каталогом. - person AlexR   schedule 23.06.2014