大家看一下,一个java的io程
你的正则表达式写得不对…
import java。io。File;
import java。io。FilenameFilter;
import java。util。Arrays;
import java。 util。regex。Pattern;
public class DirList {
public static void main(String[] args) {
File path=new File("C:\\Windows");
String []list;
list=path。 list(new DirFilter("\\w+\\。{1}exe"));
//list=pah...全部
你的正则表达式写得不对…
import java。io。File;
import java。io。FilenameFilter;
import java。util。Arrays;
import java。
util。regex。Pattern;
public class DirList {
public static void main(String[] args) {
File path=new File("C:\\Windows");
String []list;
list=path。
list(new DirFilter("\\w+\\。{1}exe"));
//list=paht。list();
Arrays。sort(list,String。CASE_INSENSITIVE_ORDER);
for(String )
System。
out。println(dirItem);
}
}
class DirFilter implements FilenameFilter{
private Pattern pattern;
DirFilter(String regex){
pattern=Pattern。
compile(regex);
}
public boolean accept(File dir,String name){
return pattern。matcher(name)。
matches();
}
}
去学下正则表达式吧 这个\\w+\\。{1}exe意思是以任意字母开头后面是exe的匹配
其实这样写比较好exe$
另外如果不会用正则的话直接匹配最后三个字符就好了
方法这么写
public boolean accept(File f, String s){
return s。
endsWith("。exe");
}
这样就简单多了。收起