今下午放羊没事,写段小程序,目的是找出“E:\Test”目录下所有的.java文件
package com.test;
import java.io.File;
import java.io.FilenameFilter;
import java.util.regex.Pattern;
//search all .java files in the "E:\Test" directory
public class DirList {
public static void main(String[] args) {
DirList dl = new DirList();
File path = new File("E:\\Test");
dl.search(path);
}
//recursive search all .java files
private void search(File path) {
File[] files = path.listFiles();
//search all .java files in the directory of "E:\Test",
//but not include those .java files occurs in the sub-directory
if(path.getAbsolutePath().equalsIgnoreCase("E:\\Test") ){
listFilteredFileName(path);
}
//search all .java files in the sub-directory
for (File file : files) {
if (file.isDirectory()) {
listFilteredFileName(file);
search(file);
}
}
}
//print .java file name by directory
private void listFilteredFileName(File file) {
String[] files = file.list(new DirFilter("\\w+.java"));
for (String fileName: files) {
System.out.println(fileName + " ");
}
}
}
//to match a given regex
class DirFilter implements FilenameFilter {
private Pattern pattern;
public DirFilter(String regex) {
pattern = Pattern.compile(regex);
}
public boolean accept(File dir, String name) {
return pattern.matcher(name).matches();
}
}
如若转载,请说明出处! http://blog.youkuaiyun.com/xukunddp