android - 转换文件 : Uri to File in Android

标签 android file uri file-uri

在 Android 中,从包含 file: 类型的 android.net.Uri 对象转换为 File 对象的最简单方法是什么?

我尝试了以下方法,但它不起作用:

File file = new File(Environment.getExternalStorageDirectory(), "read.me");
Uri uri = Uri.fromFile(file);
File auxFile = new File(uri.toString());
assertEquals(file.getAbsolutePath(), auxFile.getAbsolutePath());

最佳答案

你想要的是……

new File(uri.getPath());

...而不是...

new File(uri.toString());
注意事项
  1. 对于一个名为 uriandroid.net.Uri 对象,其创建方式与 the question 中的完全相同, uri.toString() 返回格式为 "file:///mnt/sdcard/myPicture.jpg"String,而 uri.getPath() 返回 String,格式为 "/mnt/sdcard/myPicture.jpg"
  2. 我了解 Android 中的文件存储存在细微差别。我在这个答案中的目的是准确回答提问者的问题,而不是深入细微差别。

关于android - 转换文件 : Uri to File in Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2975197/

相关文章:

java - 使用 Android java 在 WhatsApp 上自动发送消息?

php - 在 Joomla 中获取文件内容

command-line - 如何测试文件列表是否存在?

android - 如何在知道 Jnet_Uri 的情况下将文件加载到 Android 上的流中?

Android jAudioTagger 问题 - 读取 mp3 文件 - VerifyError

android - 工具栏未满

安卓 : center 3 TextView on the same line

c# - 物理文件提供程序返回 404

ruby - 是否有统一的方式来获取文件 ://or http://URI scheme in Ruby? 中的内容

c# - 如何从 C# 对象获取 URI