您的位置:首页 > 移动开发 > Android开发

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();
来获取文件基本信息

//学习所得,记录一下,有所错漏,以后再改
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  uri path