【问题标题】:Check if file exists in internal directory检查文件是否存在于内部目录中
【发布时间】:2013-02-22 14:01:15
【问题描述】:

我正在检查目录中是否存在文件。如果没有,它应该下载它。

    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() 总是 true

那里不存在该文件

我在 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();
            }
        }

【问题讨论】:

  • 那你的文件存在吗?
  • “该文件不存在于那里” - 在某处,您犯了一个错误。 mediadir_name 没有指向您认为它们指向的位置,或者您在手动检查文件系统时没有找到正确的位置。 exists()不会说谎,所以Android认为文件存在。
  • 您是否已将 添加到清单中? WRITE_INTERNAL_STORAGE 以防您的文件位于设备内存中。您可能没有修改该文件的权限,这就是为什么在您尝试删除该文件后存在()返回 true

标签: android


【解决方案1】:

你试过用 isFile() 代替吗?

【讨论】:

  • mm,让我试试这个,我没有!我认为这会奏效!
【解决方案2】:

试试这个,

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

  }

【讨论】:

    猜你喜欢
    • 2012-06-28
    • 2011-03-16
    • 1970-01-01
    • 2019-02-17
    • 2018-05-08
    • 2012-07-30
    • 2023-03-14
    • 2010-11-23
    相关资源
    最近更新 更多