标签:
本文将通过正则表达式来过滤文件夹中的某些特殊文件,并打印出来。这其中涉及到文件过滤器,其中应用到了匿名类。
package date0815.demo1; /** * Java匿名内部类 * @author zzw * */ import java.io.File; import java.io.FilenameFilter; import java.util.Arrays; import java.util.regex.Pattern; public class Test1 { public static FilenameFilter filter(final String regex) { //匿名类,直接用匿名类来返回一个FilenameFilter类的对象 return new FilenameFilter() { //对正则表达式进行编译 private Pattern pattern = Pattern.compile(regex); //覆写FilenameFilter接口中的唯一的accept方法 @Override public boolean accept(File dir, String name) { return pattern.matcher(name).matches(); } }; } public static void main(String[] args) { //新建一个文件 File file = new File("."); //返回过滤后的文件列表,使用正则表达式过滤以.html结尾的所有文件 String[] fileList = file.list(filter(".*\\.html")); //对字符串进行不区分大小写的排序 Arrays.sort(fileList, String.CASE_INSENSITIVE_ORDER); //打印文件名 for(String str:fileList) { System.out.println(str); } } }
标签:
原文地址:http://my.oschina.net/zzw922cn/blog/492807