Android 检查Uri是否指向文件或目录

Android 检查Uri是否指向文件或目录,android,uri,Android,Uri,假设一个安卓Uri(Android.net.Uri)对象指向一个文件或目录,我们如何检查该Uri是否存在 谢谢。您可以解析URI并确定它是否为文件 val pointToFile = uri.scheme == "file" 尝试打开uri的InputStream 如果你成功了,那就是一个文件 别忘了关上小溪 此外,还可以使用内容解析器查询mime类型。存在mime类型dir。Uri方案不是指向文件源(例如内容:/,http:/)吗?文件和目录的方案不是一样吗?这种方法是可

假设一个安卓Uri(Android.net.Uri)对象指向一个文件或目录,我们如何检查该Uri是否存在


谢谢。

您可以解析URI并确定它是否为文件

val pointToFile = uri.scheme == "file"

尝试打开uri的InputStream

如果你成功了,那就是一个文件

别忘了关上小溪


此外,还可以使用内容解析器查询mime类型。存在mime类型dir。

Uri方案不是指向文件源(例如内容:/,http:/)吗?文件和目录的方案不是一样吗?这种方法是可行的,但如果Uri是一个文件,但由于某种原因(例如安全权限)无法访问,该怎么办?无法创建输入流。您如何处理无法访问或使用的URI?我认为第二种方法更好。目录的mime类型是什么?是“vnd.android.document/directory”吗?我只想确保当无法访问文件时,不会将文件检测为目录。是的,这看起来像是目录mime类型。如果你问一些问题,你很快就会对此毫无疑问。