Android中对全局文件的搜索

来源:互联网 发布:多益网络有多少员工 编辑:程序博客网 时间:2024/06/05 12:00

做毕业设计时,需要对手机存储的所有文件进行筛选并过滤。

本次是使用递归算法来完成对相应的所有的文件的搜索。

//首先得到安卓存储卡文件的跟目录,然后进行一层层的筛选

File rootFloder = android.os.Environment
.getExternalStorageDirectory();

/**
* 搜索并过滤存储卡中已经存在的swf文件,将其信息保存到数据库中

* @param floder
*            要搜索的文件
* @param parentFloder
*            记录要进行搜索的文件夹的上级文件夹,为之后做记录使用
*/
private void searchSWF(File floder, File parentFloder) {
if (floder == null) {
Log.i("tag", "floder is null");
return;
}
if (floder.isDirectory()) { // 若文件为一个目录时,进入此目录。否则判断其是否为.swf文件
for (File file : floder.listFiles()) {
if (file.getName().equals(".android_secure")) // 设置此判断是因为当进入到此文件夹时,系统会自动停止运行
continue;
searchSWF(file, floder); // 利用递归将所有文件夹都遍历一遍
}
} else if (floder != null && floder.getName().matches("^.*?\\.(swf)$")) {
String filePath = floder.getAbsolutePath().replace("/mnt", ""); // 文件路径
int len = floder.getName().length(); // 文件名长度
String fileName = floder.getName().substring(0, len - 4); // 使文件名字不带后缀
dataBaseManager.insertFlashInfo(fileName, filePath);// 将flash信息存储到数据库中
}
}// searchSWF


原创粉丝点击