文档章节

根据uri获得路径

hlxxjava
 hlxxjava
发布于 2016/11/13 22:40
字数 107
阅读 0
收藏 0
点赞 0
评论 0
    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);

	
	获得真实路径
	
	 public static String getRealFilePath( final Context context, final Uri uri ) {

            if ( null == uri ) return null;

            final String scheme = uri.getScheme();
            String data = null;

            if ( scheme == null )
                data = uri.getPath();
            else if ( ContentResolver.SCHEME_FILE.equals( scheme ) ) {
                data = uri.getPath();
            } else if ( ContentResolver.SCHEME_CONTENT.equals( scheme ) ) {
                Cursor cursor = context.getContentResolver().query( uri, new String[] { ImageColumns.DATA }, null, null, null );
                if ( null != cursor ) {
                    if ( cursor.moveToFirst() ) {
                        int index = cursor.getColumnIndex( ImageColumns.DATA );
                        if ( index > -1 ) {
                            data = cursor.getString( index );
                        }
                    }
                    cursor.close();
                }
            }
            return data;
        }

 

© 著作权归作者所有

共有 人打赏支持
hlxxjava
粉丝 1
博文 7
码字总数 1481
作品 0
武汉
根据URI获取文件的绝对路径

方法代码: public void uriToFilepath(Uri uri){ String[] proj = {MediaStore.Images.Media.DATA}; Cursor cursor = managedQuery(uri, proj, null, null, null); int index = cursor.getC......

SRain215 ⋅ 2015/12/03 ⋅ 1

一步一步重写 CodeIgniter 框架 (3) —— 用面向对象重构代码

前面两篇文章为了重点突出 CodeIgniter 框架的原理,程序的结构很乱,有很多全局变量,在这一课中我们采用面向对象的方法对原先代码进行重构。 到目前为止,程序主要完成的就是 URL 分析,并...

Yomut ⋅ 2016/07/15 ⋅ 0

Java中获取路径的各种方法

1、 java文件中获得路径 Thread.currentThread().getContextClassLoader().getResource("") //获得资源文件(.class文件)所在路径 ClassLoader.getSystemResource("") Class_Name.class.getCl......

吕坤 ⋅ 2013/03/01 ⋅ 0

Java中获取classpath路径下的资源文件

ClassLoader 提供了两个方法用于从装载的类路径中取得资源: public URL getResource (String name); public InputStream getResourceAsStream (String name); 这里name是资源的类路径,它是...

lzw_me ⋅ 2014/05/04 ⋅ 0

JAVA文件中获取路径及WEB应用程序获取路径方法

基本概念的理解 :你应用上的文件或目录在硬盘上真正的路径,如:URL、物理路径 例如: c:/xyz/test.txt代表了test.txt文件的绝对路径; http://www.sun.com/index.htm也代表了一个URL绝对路...

陶邦仁 ⋅ 2012/10/25 ⋅ 1

Java或Web中解决所有路径问题

摘要:Java中使用的路径,分为两种:绝对路径和相对路径。归根结底,Java本质上只能使用绝对路径来寻找资源。所有的相对路径寻找资源的方法,都不过是一些便利方法。不过是API在底层帮助我们...

要做攻城师的志 ⋅ 2012/09/01 ⋅ 0

Java路径问题解决方案汇集

最近查看了网上很多关于路径问题资料大概总结了一下: Java路径中的空格问题 1、 URLTest.class.getResource("/").getPath(); URLTest.class.getResource("/").getFile(); URLTest.class.ge...

afreon ⋅ 2013/02/17 ⋅ 0

关于Java对相对目录的文件读写和调用方法的一些总结

关于Java对相对目录的文件读写和调用方法的一些总结 首先要讲Java路径 Java中使用的路径,分为两种:绝对路径和相对路径。具体而言,又分为四种: 1.本地系统的绝对路径: 如: windows: C:a...

蔡熙伟 ⋅ 2011/09/22 ⋅ 0

android 获取相册图片及路径

首先是相册图片的获取: private final String IMAGE_TYPE = "image/*"; private final int IMAGECODE = 0; //这里的IMAGECODE是自己任意定义的 //使用intent调用系统提供的相册功能,使用s...

守夜之星 ⋅ 2012/06/18 ⋅ 4

说说在 Android 中如何自定义内容提供器

1 自定义内容提供器 首先新建一个继承自 ContentProvider 的类,实现它的 6 个抽象方法: 内容 URI 的写法类型有这些: 还可以使用通配符来匹配以上两种格式的内容 URI: 示例: :访问应用中...

deniro ⋅ 05/06 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

聊聊spring cloud gateway的LoadBalancerClientFilter

序 本文主要研究一下spring cloud gateway的LoadBalancerClientFilter GatewayLoadBalancerClientAutoConfiguration spring-cloud-gateway-core-2.0.0.RELEASE-sources.jar!/org/springfram......

go4it ⋅ 43分钟前 ⋅ 0

详解:Nginx反代实现Kibana登录认证功能

Kibana 5.5 版后,已不支持认证功能,也就是说,直接打开页面就能管理,想想都不安全,不过官方提供了 X-Pack 认证,但有时间限制。毕竟X-Pack是商业版。 下面我将操作如何使用Nginx反向代理...

问题终结者 ⋅ 50分钟前 ⋅ 0

002、nginx配置虚拟主机

一、nginx配置虚拟主机可分为三种方式,分别为: 1、基于域名的虚拟主机,通过域名来区分虚拟主机——应用:外部网站 2、基于端口的虚拟主机,通过端口来区分虚拟主机——应用:公司内部网站...

北岩 ⋅ 53分钟前 ⋅ 0

shell脚本之死循环写法

最近在学习写shell脚本,在练习if while等流程控制时,突然它们的死循环写法是怎么样的?经过百度与亲测记录如下: for死循环 #! /bin/bashfor ((;;));do date sleep 1d...

hensemlee ⋅ 55分钟前 ⋅ 0

苹果的ARKit2.0有多可怕,看了就知道

序言 ARKit主要由三部分组成: 跟踪(Tracking) 跟踪是ARKit的核心组件之一,其提供了设备在物理世界中的位置与方向信息,并对物体进行跟踪,如人脸。 2.场景理解(Scene Understanding) 场...

_小迷糊 ⋅ 56分钟前 ⋅ 0

5.1 vim介绍 5.2 vim移动光标 5.3 ,5.4vim一般模式下移动光标,复制粘贴

vim命令 vim是vi的一个升级版;vim可以显示文字的颜色 安装vim这一个包vim-enhanced 如果不知道安装包,可以使用 命令下面命令来查看vim命令是那个包安装的。 [root@linux-128 ~]# yum prov...

Linux_老吴 ⋅ 59分钟前 ⋅ 0

vim一般模式

vim 是什么 vim是什么 ? 在之前接触Linux,编辑网卡配置文件的时候我们用过了vi ,vim简单说就是vi的升级版,它跟vi一样是Linux系统中的一个文本编辑工具。 如果系统中没有vim ,需要安装一...

李超小牛子 ⋅ 今天 ⋅ 0

docker实战

构建企业级Docker虚拟化平台实战 重点剖析虚拟化和云计算概念; 分析Docker虚拟化的概念和原理; 从0开始实战Docker虚拟化平台; 基于Docker构建Nginx WEB服务器和CentOS虚拟机; 基于开源监...

寰宇01 ⋅ 今天 ⋅ 0

vim介绍、vim颜色显示和移动光标、vim一般模式下移动光标、一般模式下复制粘贴剪切

VIM Vim 是 UNIX 文本编辑器 Vi 的加强版本,加入了更多特性来帮助编辑源代码。Vim 的部分增强功能包括文件比较(vimdiff),语法高亮,全面的帮助系统,本地脚本(Vimscript),和便于选择的...

蛋黄Yolks ⋅ 今天 ⋅ 0

springboot+mockito测试controller层遇到的问题

使用MockitoJUnitRunner测试的一个例子,原来报错无法找到bean, 类似的异常如下:createBeanError..... 原因:是因为@Runwith使用了SpringRunner,应该修改为MockitoJUnitRunner 代码如下: ...

writeademo ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部