ファイルの解凍中に問題が発生しました。「開くことができませんでした:ENOTDIR(ディレクトリではありません)」エラーが発生します。デバッグ後、問題がこの関数にあることがわかりました。
現在のZipEntryがディレクトリであると判断した後、パスを使用してこの関数を呼び出します。
private void dirChecker(String dir) {
File FiledirChecker = new File(PATH + dir); // PATH+dir = /mnt/sdcard/Pictures/Hafs
if (!FiledirChecker.isDirectory())
FiledirChecker.mkdirs();
}
この機能が終了した後、Picturesディレクトリを参照しましたが、Hafsはディレクトリではなく、「Hafs」と呼ばれる0バイトのファイルです。
なぜこうなった?
他のディレクトリ(「Hafs」以外)の場合、mkdirsは通常フォルダを作成することを指摘しておく必要があります。ただし、このディレクトリ(Hafs)の場合のみ、mkdirsはディレクトリではなくファイルを作成します。