android 地址转uri,Android中Uri和path file三者的相互转换

一、path转file

File file = new File(path);

二、path转uri

Uri uri = Uri.parse(path);

三、uri转path

/**

* 将URI路径转化为path路径

*/

public static String getRealPathFromURI(Context context,Uri contentURI) {

String result;

Cursor cursor = null;

try {

cursor = context.getContentResolver().query(contentURI, null, null, null, null);

} catch (Throwable e) {

e.printStackTrace();

}

if (cursor == null) {

result = contentURI.getPath();

} else {

cursor.moveToFirst();

int idx = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA);

result = cursor.getString(idx);

cursor.close();

}

return result;

}

四、uri转file

File file = null; //图片地址

try {

file = new File(new URI(uri.toString()));

} catch (URISyntaxException e) {

e.printStackTrace();

}

五、file转uri

private static Uri getUriForFile(Context context, File file) {

if (context == null || file == null) {

throw new NullPointerException();

}

Uri uri;

if (Build.VERSION.SDK_INT >= 24) {

uri = FileProvider.getUriForFile(context.getApplicationContext(), context.getPackageName()+".fileProvider", file);

} else {

uri = Uri.fromFile(file);

}

return uri;

}

六、file转path

String path = file.getPath()

本文地址:https://blog.csdn.net/houruoyu3/article/details/107390244

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值