gpt4 book ai didi

android - 检查 uri 以获取 android 原始文件

转载 作者:行者123 更新时间:2023-11-29 20:30:16 25 4
gpt4 key购买 nike

我正在尝试以这种方式获取我应用程序原始文件夹中文件的 URI:

Uri myUri = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.myfile);

Uri myUri = Uri.parse("android.resource://mypackage/raw/myfile");

然后我用这个方法检查uri是否正确:

File f = new File(myUri.toString());
if (f.exists()) {
Log.d("YES", "file exist");
}
if (!f.exists()){
Log.d("NO", "file doesn't exist");
}

但我总是得到:“不,文件不存在”。

你知道为什么吗?

最佳答案

首先,因为没有文件。资源是开发人员机器上的文件。它们不是设备上的文件。

其次,因为 new File(myUri.toString()) 永远不会工作。 Uri 总是有一个方案;文件系统路径从来没有方案。

第三,因为即使您使用 new File(myUri.getPath()),它最多也只能用于 file:// Uri。还有许多其他类型的 Uri 方案;它们都没有直接映射到文件系统路径的路径。即使使用 file:// Uri,文件系统路径也可能不是您可以直接访问的路径(例如,Android 4.4+ 上可移动媒体上的任意路径) .

关于android - 检查 uri 以获取 android 原始文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32075295/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com