在android中检查文件是否存在无法正常工作

时间:2016-02-10 10:54:11

标签: java android

我正在开发一款Android应用。我还在学习android。但我在检查下载文件夹中的文件是否存在时遇到问题。它总是返回假。但该文件确实存在。

这是在CommonHelper类中检查文件是否存在的函数

    public static boolean fileExists(String path)
    {
        File file = new File(path);
        if(file.exists())
        {
            return true;
        }
        else{
            return false;
        }
    }

我正在检查内置下载文件夹中的文件

   if(CommonHelper.fileExists(String.valueOf(Environment.DIRECTORY_DOWNLOADS)+"/"+cursor.getString(1)))
   {
         //do other stuffs here
   }

我的代码出了什么问题?

5 个答案:

答案 0 :(得分:1)

问题是,你没有得到完整的路径。

尝试使用Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)

获取路径
public static boolean fileExists(File path, String filename){
        return new File(path, filename).exists();
}

然后致电:

CommonHelper.fileExists(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), cursor.getString(1));

编辑:请注意,getExternalStoragePublicDirectory也可以是其他内容,例如getExternalStorageDirectory(),取决于您实际存储文件的位置。

答案 1 :(得分:0)

试试这个

 if(CommonHelper.fileExists(new File(Environment.DIRECTORY_DOWNLOADS),cursor.getString(1)))
{
     //do other stuffs here
}

 public static boolean fileExists(File directory, String fileName)
{
    File file = new File(directory,fileName);
    if(file.exists())
    {
        return true;
    }
    else{
        return false;
    }
}

答案 2 :(得分:0)

试试这个:

    File file = getContext().getFileStreamPath(file_name);       
   if(file.exists()){

    FileInputStream fileIn= new FileInputStream(file);
     ...
    }

答案 3 :(得分:0)

创建文件时必须将文件名添加到路径中...请尝试以下操作..

File file = new File(storagePath + "/" + fileName);
if (file.exists()) {
   return true;
}
else
{
 return false;
}

答案 4 :(得分:-1)

File file = new File(Environment.getExternalStorageDirectory() + "/filename");

if(file.exists){
    return true;
}else{
return false;
}