java - 在 Android 中检查文件是否存在不起作用

标签 java android

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

这是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
   }

我的代码有什么问题吗?

最佳答案

问题是,您没有获得完整路径。

尝试使用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(),具体取决于您实际存储文件的位置。

关于java - 在 Android 中检查文件是否存在不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35313215/

相关文章:

java - Apache Beam 代码中插入语法错误

java - 我如何知道哪个安全提供商正在处理我的 SSL 套接字?

java - 我如何在Android中使用下一个和上一个按钮循环数组值

java - 如何将文件/位图上传到 Cloud Firestore?

java - 从 AsyncTask 调用另一个 Activity

java - ListView 上的 OnDraw 错误

Android:过滤 ListView 时检查了错误的项目

java - 在 Java 中处理多个构造函数的最佳方法

java - 无法为实现 Spring Security UserDetails 的类加载请求的类异常

android - TextInputLayout FilledBox boxBackgroundColor 不应用 alpha channel