当文件(和目录)存在时,Android isDirectory()始终返回false

当文件(和目录)存在时,Android isDirectory()始终返回false,android,file,directory,Android,File,Directory,我有以下代码: File invoiceFile = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + File.separator + filename); if (!invoiceFile.isDirectory()) { } 当文件存在于指定目录中时,它总是返回false。 isFile()和exists()也返回false。 我做错了什么 另外,我确实拥有读

我有以下代码:

File invoiceFile = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + File.separator + filename);
if (!invoiceFile.isDirectory()) {
}
当文件存在于指定目录中时,它总是返回false。

isFile()
exists()
也返回false。

我做错了什么


另外,我确实拥有读取和写入外部存储的权限。
在Android 4上运行它。

您的清单中有读取外部存储的权限吗?您是否运行在Android 6.0+设备和目标API 23+或更高版本上?是否使用运行时权限请求读取外部存储权限?是否使用“!”?或者只是invoiceFile.exists()?在清单中是否具有读取外部存储权限?您是否运行在Android 6.0+设备和目标API 23+或更高版本上?是否使用运行时权限请求读取外部存储权限?是否使用“!”?或者只是invoiceFile.exists()?