2014-02-20 50 views
1

繼上傳圖片是我在AsynTask線程代碼:FileNotFoundException異常時,試圖在AsynTask線程

File f = new File(Environment.getExternalStorageDirectory()+"/DCIM/IMG_20140210_130057.jpg"); 
boolean exist=f.exists(); //debug result exist=false. 

此代碼火災FileNotFoundException但該文件是存在的。

我已經添加了以下權限。

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

嘗試打印出您正在構建的文件路徑。 – Asahi

+0

你見過嗎? http://stackoverflow.com/questions/5453708/android-how-to-use-environment-getexternalstoragedirectory – nikis

+2

嘗試添加讀取外部存儲的權限。 – GrIsHu

回答

0

你忘了打電話給getAbsolutePath()方法?

嘗試這種方式,

File f = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/DCIM/IMG_20140210_130057.jpg"); 
+0

試過了,file.exists()仍然返回false。謝謝。 – cc5zhenhua

+0

@ cc5zhenhua您正在測試哪種設備? – Kedarnath

+0

你是第一位客人。謝謝。 – cc5zhenhua

0

使用

File.separator 

,而不是 '/' 字符,這可能有助於

+0

試過了,還沒有工作。謝謝。 – cc5zhenhua

+0

嘿看有時.jpg,.jpeg,.JPG,似乎不同,請確保文件的擴展名 –

+0

謝謝。我發現在MAIN活動線程中,file.exists()返回true,但在AsycnTask的執行中,file.exists()返回false。 所以這個問題與AsycnTask相關的可能性很高。 – cc5zhenhua

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

另外,儘量日誌文件的路徑。

Log.d("Path:",Environment.getExternalStorageDirectory()+"DCIM/IMG_20140210_130057.jpg"); 
+0

日誌中的路徑是:/mnt/sdcard/DCIM/IMG_20140210_130057.jpg。 該文件只是在相同的位置。 – cc5zhenhua

相關問題