2013-04-21 53 views
0

我檢查,看是否有文件中的設備上存在如下:如何在不產生異常的情況下檢查文件是否存在?

boolean fileExists = new File(fullPathName).isFile(); 

它工作正常,但logcat的給了我兩個錯誤,如果該文件不存在:

BitmapFactory | Unable to decode stream: java.io.FileNotFoundException: <fullPathName> ... 

JHEAD | can't open <fullPathName> ... 

如何在不產生異常的情況下檢查文件是否存在?

+0

在哪裏呢文件存在。它是在SD卡上。你可以發佈你如何獲得fullPathName? – Raghunandan 2013-04-21 17:23:44

+0

完整路徑名稱正確。我已經使用它很長時間從設備獲取照片,並將它們寫入ListView中的ImageView。我現在要做的就是添加一個不確定的進度條,以防我需要從網絡中獲取它。 (如果文件本地不存在:顯示編程欄,從網絡獲取照片,隱藏編程欄和顯示照片。如果文件存在本地:只顯示它。所有的邏輯工作正常,所以我知道文件路徑確定) – gcl1 2013-04-21 17:30:26

+0

你是否在manifest文件中添加了permisssion? – Raghunandan 2013-04-21 17:31:36

回答

2

試試這個

File f= new File(fullPathName); 
if(f.exists()) 
{ 
} 
+0

謝謝,但這是我的第一個解決方案。它給出了相同的錯誤。 – gcl1 2013-04-21 17:21:31

+0

@ gcl1如果它滿足上述條件,則對其執行操作..ie如果文件存在 – Pragnani 2013-04-21 17:22:18

+3

@ gcl1:「它給出相同的錯誤」 - 根據您在問題中粘貼的內容,您的錯誤來自「BitmapFactory」 。 'BitmapFactory'不是'File'。據推測,你的代碼中有一些其他的bug,與使用BitmapFactory有關。由於您沒有包含任何與「BitmapFactory」相關的代碼,因此我們無法進一步幫助您。考慮編輯你的問題,以提供**所有代碼**和**所有與你的錯誤相關的堆棧跟蹤**。 – CommonsWare 2013-04-21 17:36:49

相關問題