У меня возникла проблема при распаковке файла, я получаю сообщение об ошибке "Ошибка открытия: ENOTDIR (не каталог)". После отладки я обнаружил, что проблема в этой функции:
После того, как я определил, что текущий ZipEntry Каталог, я вызываю эту функцию с ее путем:
private void dirChecker(String dir) {
File FiledirChecker = new File(PATH + dir); // PATH+dir = /mnt/sdcard/Pictures/Hafs
if (!FiledirChecker.isDirectory())
FiledirChecker.mkdirs();
}
После того, как эта функция закончилась, я перешел в каталог изображений, и Hafs не является каталогом, а представляет собой файл размером 0 байт, который называется «Hafs».
Почему это происходит?
Я должен указать, что для других каталогов (кроме «Hafs») mkdirs обычно создает папку! но только для этого каталога (Hafs) mkdirs создает не каталог, а файл!