您的位置:首页 > 编程语言 > Java开发

java实现简单的文件筛选

2013-10-09 18:50 375 查看
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;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: