如何使用文件名检查(内部/外部存储)中是否存在文件?
我一直在研究一个项目,我将从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