在android中我们有时会做有关电子书阅读器、音乐播放器等软件,那么我们就避免不了要对内存中的文件进行扫描,音乐播放器我们可以使用android自带的MediaProvider进行处理,而其他的不是媒体文件就要我们自己处理了,接下来我将介绍两种对内存文件进行扫描的方法,以.txt后缀名的文件为例。
第一种:
private void fileScan(File file){
File[] files = file.listFiles();
if(files!=null){
for(File item : files){
//item.isHidden()判断文件是否为隐藏的文件
if(item.isDirectory()&&!item.isHidden()){
//如果是文件夹进行再次扫描
fileScan(item);
}else if(!item.isHidden()&&item.getName().endsWith(".txt")){
//判断是否以.txt后缀的文件
//以下写上自己的处理,可以存到一个文件集合中List<File>
}
}
}
}
第二种:
private void fileScan(File file){
//FilenameFilter为文件过滤器
file.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String filename) {
//dir为扫描的文件的上级文件
//filename为当前扫描到的文件名
File file = new File(dir, filename);
//item.isHidden()判断文件是否为隐藏的文件
if(file.isDirectory()&&!file.isHidden()){
//如果是文件夹进行再次扫描
fileScan(file);
}else if(!file.isHidden()&&file.getName().endsWith(".txt")){
//判断是否以.txt后缀的文件
//以下写上自己的处理,可以存到一个文件集合中List<File>
}
return false;
}
});
}