2014-09-01 65 views
0

這是我的第一個Android應用程序和我第一次嘗試寫入文件。我正在嘗試捕獲日誌according to these instructions,我正在獲取FileNotFoundExeption ENOENT (No such file or directory)。這很公平,因爲該目錄不存在。但是,我該如何創建目錄?或者使用另一個?我不知道在哪裏寫日誌是爲了給他們發郵件的最佳做法,我也不知道如何爲他們創建一個新的目錄。IOException:沒有這樣的文件或目錄(Android)

這是我正在嘗試使用的路徑。

String path = Environment.getExternalStorageDirectory() + "/" + "MyFirstApp/"; 
     String fullName = path + "mylog"; 
File file = new File (fullName); 
+0

你自己到SD卡上寫的權限? – rekire 2014-09-01 15:32:17

回答

4

的父目錄還不存在,則必須在創建文件

String path = Environment.getExternalStorageDirectory() + "/" + "MyFirstApp/"; 
// Create the parent path 
File dir = new File(path); 
if (!dir.exists()) { 
    dir.mkdirs(); 
} 

String fullName = path + "mylog"; 
File file = new File (fullName); 

編輯之前先創建父:

感謝Jonathans答案,此代碼示例是更正確的。它使用exists()方法。

您還需要允許在你的清單:

<manifest ...> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    ... 
</manifest> 
+0

正是我需要的。謝謝! – NSouth 2014-09-01 16:40:53

0

我想添加到弗朗西斯的回答,這不是要求,如果它是一個目錄,你可以問它是否與dir.exists存在( ) 方法。

還要檢查您是否在Manifest文件中設置了適當的權限。

希望它可以幫助

了Jonatan

相關問題