文档章节

根据uri获得路径

hlxxjava
 hlxxjava
发布于 2016/11/13 22:40
字数 107
阅读 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
622
1
一步一步重写 CodeIgniter 框架 (3) —— 用面向对象重构代码

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

Yomut
2016/07/15
5
0
Java中获取classpath路径下的资源文件

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

lzw_me
2014/05/04
0
0
JAVA文件中获取路径及WEB应用程序获取路径方法

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

陶邦仁
2012/10/25
0
1
Java或Web中解决所有路径问题

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

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

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring Cloud Gateway真的有那么差吗?

前言 Spring Cloud从一开始最受大家质疑的就是网关性能,那是由于Spring Cloud最初选择了使用Netflix几年前开源的Zuul作为基础,而高性能版的Zuul 2在经过了多次跳票之后,对于Spring这样的整...

Java小铺
48分钟前
1
0
SpringBoot远程调试,远程debug你的线上项目

开发环境中代码出错了,可以利用IDE的debug功能来进行调试。那线上环境出错呢? 一、假设我们的项目是部署在tomcat中,那我们就需要对tomcat进行一定对配置,配置如下。 1. windows系统中,找...

nonnetta
53分钟前
0
0
JAVA秒杀优化方向

秒杀优化方向 将请求尽量拦截在系统上游:传统秒杀系统之所以挂,请求都压倒了后端数据层,数据读写锁冲突严重,几乎所有请求都超时,流量虽大,下单成功的有效流量甚小,我们可以通过限流、...

小贱是个程序员
今天
0
0
C# 统计字符串中大写字母和小写字母的个数

static void Main() { int count1 = 0; int count2 = 0; Console.WriteLine("请输入字符串"); string str = Convert.ToString(Consol......

熊二的爸爸是谁
今天
0
0
分布式服务框架之远程通讯技术及原理分析

在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI、MINA、ESB、Burlap、Hessian、SOAP、EJB和JMS等,这些名词之间到底是...

老道士
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部