我正在开发一款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
}
我的代码出了什么问题?
答案 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;
}