package io;
import java.io.File;
import java.util.Arrays;
public class DirList {
public static void filterFile(String[] regexes) {
File path=new File("D:\\");
String[] list;
if(regexes.length==0){
list=path.list();
}else{
list=path.list(new DirFilter(regexes[0]));
}
Arrays.sort(list,String.CASE_INSENSITIVE_ORDER);
for(String dirItem:list){
System.out.println(dirItem);
}
}
}
package io;
import java.io.File;
import java.io.FilenameFilter;
import java.util.regex.Pattern;
public class DirFilter implements FilenameFilter {
private Pattern pattern;
public DirFilter(String regex){
pattern=Pattern.compile(regex);
}
@Override
public boolean accept(File file, String fileName) {
return pattern.matcher(fileName).matches();
}
}
package io;
public class TestFileFilter {
public static void main(String[] args) {
//String[]regex={"^(\\d|\\w|\u4e00-\u9fa5)+\\.zip{1}"};
//String[]regex={"^(\\d|\\w|[\u4e00-\u9fa5]+)+\\.zip{1}"};
String[]regex={".+\\.zip"};
DirList.filterFile(regex);
}
}
正则表达式写法: ".+\\.zip” . 表示任意字符 \\.表示点