android根据uri或文件绝对路径获取文件基本信息
2014-03-06 18:07
435 查看
//有需求,于是研究一下
在文件读取操作中,很容易能从回调intent传递的数据中获取文件uri,从而通过uri获取文件绝对路径,
Uri uri = intent.getDataString();
读取到uri后,如果文件为图片,则可通过
String[] proj = { MediaColumns.DATA };
// 好像是android多媒体数据库的封装接口,具体的看Android文档
Cursor cursor = managedQuery(originalUri, proj,
null, null, null);
// 按我个人理解 这个是获得用户选择的图片的索引值
int column_index = cursor.getColumnIndexOrThrow(MediaColumns.DATA);
// 将光标移至开头 ,这个很重要,不小心很容易引起越界
cursor.moveToFirst();
// 最后根据索引值获取图片路径
String path = cursor.getString(column_index);
如若uri为文件,可通过
String path = uri.substring(7);(文件起头为:file:///)
获取。
继而可通过
//获取文件名
String name = path.substring(path.lastIndexOf("/") + 1,path.length());
//获取文件大小
File f = new File(path.substring(7));
long size = f.length();
来获取文件基本信息
//学习所得,记录一下,有所错漏,以后再改
在文件读取操作中,很容易能从回调intent传递的数据中获取文件uri,从而通过uri获取文件绝对路径,
Uri uri = intent.getDataString();
读取到uri后,如果文件为图片,则可通过
String[] proj = { MediaColumns.DATA };
// 好像是android多媒体数据库的封装接口,具体的看Android文档
Cursor cursor = managedQuery(originalUri, proj,
null, null, null);
// 按我个人理解 这个是获得用户选择的图片的索引值
int column_index = cursor.getColumnIndexOrThrow(MediaColumns.DATA);
// 将光标移至开头 ,这个很重要,不小心很容易引起越界
cursor.moveToFirst();
// 最后根据索引值获取图片路径
String path = cursor.getString(column_index);
如若uri为文件,可通过
String path = uri.substring(7);(文件起头为:file:///)
获取。
继而可通过
//获取文件名
String name = path.substring(path.lastIndexOf("/") + 1,path.length());
//获取文件大小
File f = new File(path.substring(7));
long size = f.length();
来获取文件基本信息
//学习所得,记录一下,有所错漏,以后再改
相关文章推荐
- 菜鸟说给菜鸟听之Beginning Linux Programming——Chapter1(1)
- sqlserver FOR XML PATH 语句的应用
- set_include_path在win和linux下的区别
- 浅析Cookie中的Path与domain
- cookie中的path与domain属性详解
- URI、URL和URN之间的区别与联系
- PHP include_path设置技巧分享
- 从此不再惧怕URI编码 JavaScript及C# URI编码详解
- 解析URI与URL之间的区别与联系
- 浅析JAVA_HOME,CLASSPATH和PATH的作用
- Canvas、Path 和 Paint 实例 (游戏开发必备)
- 自动生成AWR HTML报告
- URI百分号编码
- 修改Tomcat的默认访问目录
- uri和url的定义及关系
- Linux安装JDK
- 在Linux里设置环境变量的方法(export PATH)--待修改
- 备忘:mac下配置JDK
- Android Studio - local path doesn't exist
- C# 获取Sqlite数据库路径的问题