解壓縮文件時出現問題,我得到「打開失敗:ENOTDIR(不是目錄)」錯誤。調試後,我發現問題出在這個功能:
後,我確定當前的ZipEntry是一個目錄,我調用這個函數與它的路徑:mkdirs創建文件而不是創建文件夾[JAVA]
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」),mkdirs通常會創建文件夾!但只適用於這個目錄(Hafs)mkdirs不會創建一個目錄而是一個文件!
你檢查了[這篇文章](http://stackoverflow.com/questions/4543559/file-mkdirs-method-not-working-in-android-java)? – assylias 2012-08-15 11:45:20
@assylias是的,我已經有了這個許可。 – Omar 2012-08-15 11:47:30
在調試器下運行,或添加打印語句,並查明您是否確信File(「Hafs」)。mkdirs()實際上正在調用(可能不是)。同樣,將檢查添加到文件解壓縮部分該代碼確保它不會被意外解壓縮爲一個文件(它可能是)。 – 2012-08-15 11:52:56