open failed: ENOENT (No such file or directory). (目錄層級問題)
阿新 • • 發佈:2019-02-03
今天要給安卓APP加個功能,匯出一份xml檔案到公共目錄下,但是匯出的時候報錯:open failed: ENOENT (No such file or directory).
看上去像是找不到目錄什麼的,先來看看程式碼:
String PATH = Environment.getExternalStorageDirectory() + "/"; File hkappDir = new File(PATH + "FSA/檔案匯出"); if(!hkappDir.exists()){ hkappDir.mkdir(); } String currentTime = DateUtil.getCurrentTime("yyyy-MM-dd-HH-mm-ss"); File file = new File(hkappDir.getAbsolutePath() + "/"+ currentTime +".xml"); try{ if(!file.exists()){ file.createNewFile();//此處報錯!
可以看出,前面的 ".../FSA/檔案匯出"這個目錄並沒有新建成功。那問題在哪裡呢?網上找了一圈,沒有直接能解決的。
於是翻出以前一段正確的程式碼對照了以下:
File hkappDir = new File(PATH + "hkapp");
if(!hkappDir.exists()){
hkappDir.mkdir();
}
不同點在於資料夾的路徑,目前是寫了兩級目錄:FSA/檔案匯出,那會不會是不支援同時新建兩級目錄呢?
於是修改一下,改成新建一級目錄:
File hkappDir = new File(PATH + "FSA");
新建成功,問題解決。
原來的目錄層級的問題,不怕麻煩的,可以繼續往下新建目錄。