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

如题所述

方法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());
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-08-12
只有可以把文件路径设置成uri,设置后,uri相当于一个http路径,至于真实的文件路径,只有提供uri的app知道,外部应用无法获知。
第2个回答  推荐于2017-09-28
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);本回答被提问者和网友采纳
相似回答