Android查询扫描SD卡里指定后缀名称的文件
2016-07-11 10:30
357 查看
现在有个需求就是,查询SD卡里以”.txt”结尾的所有文档,我们第一反应是用for循环遍历SD卡文件,然后把所有以txt后缀名结尾的文件路径放到一个集合里,但是这样有个缺点,,太慢了,android已经为我们提供查询特定格式的文件的方法,速度很快。
DocBean是个实体类,代码如下:
/** * 查询SD卡里可以上传的文档 */ private void queryFiles(){ String[] projection = new String[] { MediaStore.Files.FileColumns._ID, MediaStore.Files.FileColumns.DATA, MediaStore.Files.FileColumns.SIZE }; Cursor cursor = getContentResolver().query( Uri.parse("content://media/external/file"), projection, MediaStore.Files.FileColumns.DATA + " like ?", new String[]{"%.txt"}, null); if (cursor != null) { if (cursor.moveToFirst()) { int idindex = cursor .getColumnIndex(MediaStore.Files.FileColumns._ID); int dataindex = cursor .getColumnIndex(MediaStore.Files.FileColumns.DATA); int sizeindex = cursor .getColumnIndex(MediaStore.Files.FileColumns.SIZE); do { String id = cursor.getString(idindex); String path = cursor.getString(dataindex); String size = cursor.getString(sizeindex); docBean.setId(id); docBean.setPath(path); docBean.setSize(size); int dot=path.lastIndexOf("/"); String name=path.substring(dot+1); Log.e("test",name); } while (cursor.moveToNext()); } } cursor.close(); }
DocBean是个实体类,代码如下:
public class DocBean implements Serializable { private String id; private String path; private String size; private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSize() { return size; } public void setSize(String size) { this.size = size; } public String getPath() { return path; } public void setPath(String path) { this.path = path; } public String getId() { return id; } public void setId(String id) { this.id = id; } }
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories