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的文件則合格
}
}