標籤:
本文將通過Regex來過濾檔案夾中的某些特殊檔案,並列印出來。這其中涉及到檔案過濾器,其中應用到了匿名類。
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() {//對Regex進行編譯private Pattern pattern = Pattern.compile(regex);//覆寫FilenameFilter介面中的唯一的accept方法@Overridepublic boolean accept(File dir, String name) {return pattern.matcher(name).matches();}};}public static void main(String[] args) {//建立一個檔案File file = new File(".");//返回過濾後的檔案清單,使用Regex過濾以.html結尾的所有檔案String[] fileList = file.list(filter(".*\\.html"));//對字串進行不區分大小寫排序Arrays.sort(fileList, String.CASE_INSENSITIVE_ORDER);//列印檔案名for(String str:fileList) {System.out.println(str);}}}
Java的匿名類樣本