java中的FileFilter的使用 为什么不输出结果 求高手指教
代码如下:
import java.util.regex.*;
import java.io.*;
import java.lang.reflect.Array;
import java.util.*;
public class CallBack{
public static void main(String[] args) throws
IOException{
File path=new File("D:\\workspace\\AI_WordSplit\\src");
String[] list;
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String s=br.readLine();
if(s.length()==0)
list=path.list();
else
list=path.list(new DirFilter(s));
Arrays.sort(list,String.CASE_INSENSITIVE_ORDER);
for(String st:list){
System.out.println(st);
}
}
}
import java.io.*;
import java.util.*;
import java.util.regex.Pattern;
public class DirFilter implements FilenameFilter {
private Pattern pattern;
public DirFilter(String s) {
pattern =Pattern.compile("java");
}
public boolean accept(File dir, String name) {
return pattern.matcher(name).matches();
}
}
------解决方案--------------------
你是不是想只输出*.java的文件? 如果是则程序里面有两处错误:
第一个 如果不输入东西,这里没有进行过滤
Java code
if(s.length()==0)
list=path.list();