检查文件是否存在于内部目录

问题描述:

我是否检查文件是否在目录中感染。如果没有,它应该下载它。检查文件是否存在于内部目录

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

你试过用isFile()来代替吗?

+0

毫米后,exists()返回true,让我试试这个,我没有!我认为这将起作用! – Harry 2013-02-22 14:07:05

+0

啊你看,这个作品!非常感谢! – Harry 2013-02-22 14:07:53

试试这个,

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

    }