package filenameFilter;
import java.io.File;
/*
* 实现功能:
* 获取指定路径下的指定格式的文件;
* */
public class Test {
public static void listPath(File file) {
// 接收筛选过后的文件对象数组
//用文件对象调用listFiles(FilenameFilter filter);方法,
//返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录
File files[] = file.listFiles(new MyFilenameFilter());
/*//遍历出指定文件路径下符合条件的文件
for (File f : files) {
System.out.println(f);
}*/
//遍历出指定文件路径下的所有符合筛选条件的文件
for(File f: files){
if(f.isDirectory()){
listPath(f);
}else{
System.out.println(f);
}
}
}
public static void main(String[] args) {
// 创建指定目录的文件对象
File file = new File("F:\\test");
// 调用文件晒筛选的方法,并将文件对象出入,
listPath(file);
}
}
package filenameFilter;
import java.io.File;
import java.io.FilenameFilter;
//实现FilenameFilter接口,可用于过滤器文件名
//本方法实现的是筛选指定格式结尾的文件
public class MyFilenameFilter implements FilenameFilter {
/**
* @param args
*
* 实现功能; 实现FilenameFilter接口,定义出指定的文件筛选器
*
*/
@Override
//重写accept方法,测试指定文件是否应该包含在某一文件列表中
public boolean accept(File dir, String name) {
// TODO Auto-generated method stub
// 创建返回值
boolean flag = true;
// 定义筛选条件
//endWith(String str);判断是否是以指定格式结尾的
if (name.toLowerCase().endsWith(".jpg")) {
} else if (name.toLowerCase().endsWith(".txt")) {
} else if (name.toLowerCase().endsWith(".gif")) {
} else {
flag = false;
}
// 返回定义的返回值
//当返回true时,表示传入的文件满足条件
return flag;
}
}