遍历SD卡寻找自己想要的文件
2016-06-15 21:56
218 查看
今天来做一个小小的模块。这个我在做项目的时候发现还是很有用滴。那就是遍历SD卡寻找自己想要的文件,当然看你还有更高效的做法,这里我就例举一个比较传统的找文件方法。
大概的思路就是在SD卡上寻找文件,如果是目录就进行递归,知道是文件然后再去判断这个文件是否是我们想要的文件,就这样一直遍历。
因为涉及到使用外部存储所以AndroidManifest配置文件中要添加权限:
<uses-permissionandroid:name="android.permission.READ_EXTERNAL_STORAGE"/>
接下里来贴代码进行分析。
publicvoidgetFile(Stringpath)
{
Filefiles=newFile(path);
File[]file=files.listFiles();
try
{
for(Filef:file)
{
if(f.isDirectory())
{
getFile(f.getAbsolutePath());
}else
{
if(f.getPath().contains("lrc"))
{
lrcpaths.add(f.getPath());
}
}
}
}catch(Exceptione)
{
Log.i("TAG",e.toString());
}
}接下来来解析下带啊名,首先我们要传送一个SD卡的起始路径,接下来实在这个路径下进行遍历File的方法listFiles()
listFiles()能够获取当前文件夹下的所有文件和文件夹
如果是想要音频文件则:
privateString[]fomat=newString[]{"mp3","wav",......};
publicstaticbooleanisAudioFile(Stringpath)
{
for(Stringkey:fomat)
{
if(path.contains(key))
{
returntrue;
}
}
returnfalse;
}[/code]
然后在第一段程序中如果判断是文件就调用</span>path给的是文件的绝对路径。[/code]
大概的思路就是在SD卡上寻找文件,如果是目录就进行递归,知道是文件然后再去判断这个文件是否是我们想要的文件,就这样一直遍历。
因为涉及到使用外部存储所以AndroidManifest配置文件中要添加权限:
<uses-permissionandroid:name="android.permission.READ_EXTERNAL_STORAGE"/>
接下里来贴代码进行分析。
然后用for循环进行遍历,判断是否文件夹,如果是就递归,如果是文件者判断是否是你想要的文件,这里我是模拟寻找歌词文件。
fomat字符串数组其实也就是过滤文件的作用。后面的。。。是表示音频文件的后缀名。(PS:寻找手机上的音频文件建议使用getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,null,null,null,null);)
以此类推,可以拓展出许多程序,这里大家如果是初学者看完后可以去动手实践下做个小程序。
相关文章推荐
- 笔记
- 乐学成语
- Android图片压缩工具类
- ButterKnife无效 空指针
- 【天池竞赛系列】菜鸟-需求预测与分仓规划初赛冠军解决方案
- extern "c"用法解析
- [C语言]模拟实现C语言库函数atof
- windows live Write写博客测试
- 什么是系统平均负载(Load average)
- 响应式布局
- 【排序】直接选择排序
- 欢迎使用CSDN-markdown编辑器
- 从零开发一款APP 一、Java Web后端注册接口的设计
- Sorting methods summary (1)
- JavaScript 初级教程
- FatFS文件系统介绍及使用例程
- Gradle学习理解
- 指针学习2
- 论文解析:人脸检测中级联卷积神经网络的联合训练
- 学生管理系统