如何使用文件名检查(内部/外部存储)中是否存在文件?

我一直在研究一个项目,我将从API获取文件名,并且必须检查文件是否存在于设备中并播放它。如何使用文件名检查(内部/外部存储)中是否存在文件?

我得到Screenshot.jpg来自API的文件名和下的同名文件存在于我的存储。

但是,当我使用的一段代码,我已经返回false。我也检查过其他代码。

public boolean isFilePresent(String fileName) { 

String path = this.getFilesDir().getAbsolutePath() + "/" + fileName;

File file = new File(path);

return file.exists();

}

我在哪里出错了?任何帮助将不胜感激!

回答:

也许,你做错了什么使用this.getFilesDir()是。

相反,使用Environment.getExternalStorageDirectory().toString()例如,这一切都取决于您的文件。

就像我以前说过,调试它自己,打印(或呈现干杯)与“预期”文件的路径,然后验证它不存在

回答:

尝试类似的东西:

public boolean isFilePresent(Context context, String fileName) { 

File dirFiles = context.getFilesDir();

File[] filesArray = dirFiles.listFiles();

for (File file : filesArray) {

if (file.getName().equals(fileName)) {

return true;

}

}

return false;

}

回答:

使用Environment.getExternalStorageDirectory()你这是怎么得到的文件目录

,那么你将后添加的文件路径,所以你应该做这样的事情

if(!new File(Environment.getExternalStorageDirectory().toString()+"/myFolder/"+"myFile").exist()) 

{

// file is not exist

}

记得检查运行权限,因为它是一个特殊的权限

以上是 如何使用文件名检查(内部/外部存储)中是否存在文件? 的全部内容, 来源链接: utcz.com/qa/261720.html

回到顶部