2013-02-23 62 views
1
String extra=imagepath.get(i).toString(); 
String extra2=imageid.get(i).toString(); 
String path = "/mnt/sdcard/Android/data/com.example.webdata/files/Download/" + extra2 + ".jpg"; 
File f = new File(path); 
if(f.exists()) 
{ 
    //Toast.makeText(getApplicationContext(), "File already exists....", 
    // Toast.LENGTH_SHORT).show(); 

} 
else 
{ 
    downloadfile(); 
} 

我正在使用上面的代碼來檢查文件是否存在。我用一個文件檢查了它,它工作正常,但是當我在有多個(100-200)圖像的應用程序中使用它時,它總是開始下載文件,無論它們是否存在。有沒有比這更好的方法?如何檢查文件的存在?

+0

我認爲它應該單詞。你確定路徑是正確的嗎? – 2013-02-23 10:18:17

+1

無法從您單獨發佈的代碼中分辨出來。爲什麼你將路徑存儲在'imagepath'列表中,如果你從圖像ID構造它?也許你正在檢查錯誤的路徑(btw。硬編碼sd卡的路徑是不好的做法,使用'Environment.getExternalStorageDirectory()'作爲root或'Context.getExternalCacheDir()'來確保它在所有版本) – Thrakbad 2013-02-23 10:21:53

回答

1

首先檢查文件夾上的許多圖像如何: -

File extStore = Environment.getExternalStorageDirectory(); 
File[] imageDirs = extStore.listFiles(filterForImageFolders); 

以上後運行循環,並檢查ü[R條件: -

for(int i=0;i<list.length;i++) 
{ 
    // ur condition 
} 
+0

硬編碼路徑不是一個好主意。 – Reno 2013-02-23 10:29:14

+0

我只是給他的想法,但我右@Reno – duggu 2013-02-23 10:34:56