为什么file.exists()返回false?

时间:2014-08-06 19:48:10

标签: android uri

我有来自ActivityOnResult的Uri图像。我想在几步之后删除此图像。

File file=new File(uri.toString());
//I tried file.mkdir() too, but without change
if(file.exists())
     file.delete();

但是file.exists()返回false。 我不知道是什么原因。我会感激任何小费

5 个答案:

答案 0 :(得分:2)

它是一个内容:// URI意味着您无法将其视为普通文件。而是试试这个。 getContentResolver().delete(uri, null, null);

答案 1 :(得分:0)

试试这个

File file=new File(uri.getPath());
//I tried file.mkdir() too, but without change
if(file.exists())
     file.delete();

答案 2 :(得分:0)

你知道uri的价值是什么吗? toString应该工作,getPath将返回可能无效的解码路径。

答案 3 :(得分:0)

您需要检查getAbsoluteFile()上是否存在。

试试这个

 File file=new File(uri.toString());
//I tried file.mkdir() too, but without change
 if(file.getAbsoluteFile().exists()) {
   file.delete();
 }

答案 4 :(得分:0)

你进入onActivityResult的uri whihc可能是内容方案uri ..请打印uri.Toi转换内容方案uri到文件uri参考以下SO问题:

Get filename and path from URI from mediastore