在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; } }); }
新闻热点
疑难解答