package seday03;
import java.io.File;
import java.io.FileFilter;
/**
* listFiles的重載方法允許我們傳入一個文件過濾器:File[] listFiles(FileFilter filter)
* 該方法會將當前File對象表示的目錄中滿足過濾器要求的子項獲取回來
* @author xingsir
*/
public class FileFiltersDemo2 {
public static void main(String[] args) {
File dir =new File(".");//相對路徑
if(dir.isDirectory()) {//判斷是否是目錄
//獲取所有文件的過濾器
FileFilter fileter=new FileFilter() {
@Override
public boolean accept(File dir) {
return dir.isFile();//是文件返回true
}
};
/*
* 該方法實際上會將dir中所有子項都獲取到,並且每個子項都會經過給定的過濾器的accept方法,
* 但是只有返回值為true的子項會被保留,最終返回。
*/
File [] subs=dir.listFiles(fileter);
for(int i=0;i<subs.length;i++) {
System.out.println(subs[i].getName());
}
}
}
}