android中uri怎么转换成文件路径

 我来答
心碎冰泪雨
推荐于2017-09-14 · TA获得超过288个赞
知道小有建树答主
回答量:300
采纳率:100%
帮助的人:69.5万
展开全部
方法1、用URLDecode解码就可以了。
String code = "D:/%e5%ad%a6%e6%b5%b7/My%20Course/%e8%ae%a1%e7%ae%97%e4%b8%8e%e8%bd%af%e4%bb%b6%e5%b7%a5%e7%a8%8b/Java%20workspace/my Project/bin/";
try{
String src=URLDecoder.decode(code,"UTF-8");//注意编码和输入时一致
System.out.print(src);
}catch (UnsupportedEncodingException e){
e.printStackTrace();
}
======
显示:
D:/学海/My Course/计算与软件工程/Java workspace/my Project/bin/

方法2:URI有自己的getPath方法,直接返回的就是解码后的路径
比如System.out.print(url.getPath());
woshidaniel
2015-08-12 · TA获得超过9241个赞
知道小有建树答主
回答量:1760
采纳率:96%
帮助的人:942万
展开全部
只有可以把文件路径设置成uri,设置后,uri相当于一个http路径,至于真实的文件路径,只有提供uri的app知道,外部应用无法获知。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
己学好4
推荐于2017-09-28 · TA获得超过1.5万个赞
知道大有可为答主
回答量:1.1万
采纳率:91%
帮助的人:5046万
展开全部
Uri uri = data.getData();

String[] proj = { MediaStore.Images.Media.DATA };

Cursor actualimagecursor = managedQuery(uri,proj,null,null,null);

int actual_image_column_index = actualimagecursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);

actualimagecursor.moveToFirst();

String img_path = actualimagecursor.getString(actual_image_column_index);

File file = new File(img_path);
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式