列出当前目录的所有文件或者文件夹OR筛选出符合参数条件的文件(文件名或者文件夹名全部匹配参数)
public class DirList {
public static void main(String[] args) {
File path = new File(".");//仅加一个点,表示当前目录。当前目录即项目名称
String[] list;
if(args.length == 0){
list = path.list();//获得此File对象path的全部列表
}else{
list = path.list(new DirFilter(args[0]));//此list方法会调用DirFilter的accept方法
}
Arrays.sort(list,String.CASE_INSENSITIVE_ORDER);//忽略字母大小写排序
for(String dirItem:list){
System.out.println(dirItem);
}
}
}
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();//整个目标字符串完全匹配时才返回真值。
}
}