1. 程式人生 > >java.io.IOException: open failed: EACCES (Permission denied)問題解決

java.io.IOException: open failed: EACCES (Permission denied)問題解決

1.  問題描述:在Android中,用程式訪問Sdcard時,有時出現“java.io.IOException: open failed: EACCES (Permission denied)", 這是由於沒有增加sdcard對應許可權而導致的。

2.  解決辦法:

在mainfest檔案中,增加以下許可權:

<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
問題解決。

3.  補充:

   1).  open failed: EISDIR (Is a directory): 

         這是由於你操作的物件是檔案,但是程式碼中卻用的是路徑,把路徑“……/……/”最後一個“/”去掉,或者再新增一個檔名,應該就可以了。

   2).  sdcard相關的另外一個許可權:

         <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>  

   3).  許可權的位置:

         <application ......</application>之內,有時在它之外,哪個可以用哪個。