读书人

java中的FileFilter的使用 为什么不输

发布时间: 2012-02-08 19:52:21 作者: rapoo

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(); 

读书人网 >J2SE开发

热点推荐