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

java获取指定目录下所有指定扩展名的文件

2009-12-10 18:12 876 查看
内容比较简单,关键是文件过滤器的使用和简单的递归思想

import java.io.File;
import java.io.FileFilter;
import java.io.FilenameFilter;

public class file_list {
public static void list(String name) {
try {
File f = new File(name);
if (!f.exists()) {
System.out.println("文件不存在哦");
return;
}

if (f.isDirectory()) {

File[] list = f.listFiles(getFileExtensionFilter(".txt"));
for (int i = 0; i < list.length; i++)
System.out.println(list[i].toString());
list = f.listFiles(getNotDirFileFilter());
for (int i = 0; i < list.length; i++)
if (list[i].isDirectory())
list(list[i].toString());
}

} catch (Exception e) {
System.out.println("IO error!/r/n" + e.toString());
}

}

public static void main(String[] args) {
list("c://windows");
}

public static FilenameFilter getFileExtensionFilter(String extension) {// 指定扩展名过滤
final String _extension = extension;
return new FilenameFilter() {
public boolean accept(File file, String name) {
boolean ret = name.endsWith(_extension);
return ret;
}
};
}

public static FileFilter getNotDirFileFilter() { // 文件还是目录过滤

return new FileFilter() {

public boolean accept(File file) {

return file.isDirectory();//关键判断点

}

};

}

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