android中uri怎么转换成文件路径
3个回答
展开全部
方法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());
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());
展开全部
只有可以把文件路径设置成uri,设置后,uri相当于一个http路径,至于真实的文件路径,只有提供uri的app知道,外部应用无法获知。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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);
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);
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询