import java.util.regex.*;
import java.io.*;
import java.util.*;
public class DirList{
public static void main(String[] args){
File path=new File(".");
String[] list1;
if(args.length==0)
list1=path.list();
else
list1=path.list(new DirFilter(args[0]));
Arrays.sort(list1,String.CASE_INSENSITIVE_ORDER);
for(String dirItem:list1)
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();//这个name是怎么传进来的?
}
}
import java.io.*;
import java.util.*;
public class DirList{
public static void main(String[] args){
File path=new File(".");
String[] list1;
if(args.length==0)
list1=path.list();
else
list1=path.list(new DirFilter(args[0]));
Arrays.sort(list1,String.CASE_INSENSITIVE_ORDER);
for(String dirItem:list1)
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();//这个name是怎么传进来的?
}
}
return pattern.matcher(name).matches();//这个name是怎么传进来的?
}
这两个name是一样的
public String[] list(FilenameFilter filter) {
String names[] = list();
if ((names == null) || (filter == null)) {
return names;
}
ArrayList v = new ArrayList();
for (int i = 0 ; i < names.length ; i++) {
if (filter.accept(this, names[i])) {
v.add(names[i]);
}
}
return (String[])(v.toArray(new String[v.size()]));
}
return pattern.matcher(name).matches();//这个name是怎么传进来的?
}方法定义name 方法里面用