public static Map listPath(File file) {
// 接收筛选事后的文件对象数组
//用文件对象调用listFiles(FilenameFilter filter);方法,
//返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中知足指定过滤器的文件和目录
File files[] = file.listFiles(new MyFilenameFilter());
//遍历出指定文件路径下的全部符合筛选条件的文件
for(File f: files){
if(f.isDirectory()){
listPath(f);//递归遍历下
}else{
readFile(f);// 读取文件的方法
System.out.println(f);
}
}
return map;
}html
package com.common;java
import java.io.File;
import java.io.FilenameFilter;数组
public class MyFilenameFilter implements FilenameFilter {
/**
* 重写文件过滤器accept方法
* param dir:当前文件 name:当前文件名
* return boolean true or false
*
*/
@Override
public boolean accept(File dir, String name) {
// 建立返回值
boolean flag = true;ide
//dir.toString().indexOf("test")<0&& 是否过滤掉包含test的目录结构
if (name.toLowerCase().endsWith(".html")) {
//System.out.println(dir.toString());
}else if((new File(dir, name).isDirectory())){
}else {
flag = false;
}
//当返回true时,表示传入的文件知足条件
return flag;
}this
}spa
Java.io.FilenameFilter是文件名过滤器,用来过滤不符合规格的文件名,并返回合格的文件;.net
1.实现FilenameFilter接口;htm
2.实现boolean accept(File dir,String name); //dir表示文件的当前目录,name表示文件名;对象
class MyFilter implements FilenameFilter{递归
private String type; //type为须要过滤的条件,好比若是type=".jpg",则只能返回后缀为jpg的文件
public MyFilter(String type){
this.type = type;
}
public boolean accept(File dir,String name){ //返回true的文件则合格
}
}