1. 程式人生 > >open failed: ENOENT (No such file or directory). (目錄層級問題)

open failed: ENOENT (No such file or directory). (目錄層級問題)

今天要給安卓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");
新建成功,問題解決。


原來的目錄層級的問題,不怕麻煩的,可以繼續往下新建目錄。