2013-02-22 160 views
0

我是否檢查文件是否在目錄中感染。如果沒有,它應該下載它。檢查文件是否存在於內部目錄

File file = new File(mediadir, _name); 

    if(file.exists()) { 
     Log.i("FILE EXISTS", _name); 
    } else { 
     Log.i("DOWNLOAD", _name); 
     new Download().execute(context, name, "http://192.168.2.136:8080/rest/transfer/"+ linkid +"/"+ username +"/" + json_data.getString("ID")); 
} 

file.exists()總是

該文件不存在在那裏

我的file.exists()

之前運行這一權利
 File mediadir = getDir("tvr", Context.MODE_PRIVATE); 
     if (mediadir.isDirectory()) { 
      String[] children = mediadir.list(); 
      for (int i = 0; i < children.length; i++) { 
       new File(mediadir, children[i]).delete(); 
      } 
     } 
+1

那麼你的文件存在? – 2013-02-22 14:01:34

+2

「文件不存在於那裏」 - 在某個地方,你犯了一個錯誤。 「mediadir」和「_name」並不指向你認爲他們在做什麼,或者當你手動檢查文件系統時,你沒有在正確的位置查找。 'exists()'不會說謊,所以Android認爲文件存在。 – CommonsWare 2013-02-22 14:03:48

+0

您是否已將添加到您的清單中? WRITE_INTERNAL_STORAGE萬一您的文件位於設備內存中。您可能沒有修改該文件的權限,這就是爲什麼在嘗試刪除文件 – Droidman 2013-02-22 14:09:14

回答

2

你試過用isFile()來代替嗎?

+0

毫米後,exists()返回true,讓我試試這個,我沒有!我認爲這將起作用! – Harry 2013-02-22 14:07:05

+0

啊你看,這個作品!非常感謝! – Harry 2013-02-22 14:07:53

0

試試這個,

for (File f : myDir.listFiles()) { 
    //Do your stuf 
    String name = f.getName(); 
    //Here you will get file you have already stored in directory. 

    }