- import java.io.File;
- import java.io.FilenameFilter;
- import java.util.Arrays;
- import java.util.regex.Pattern;
- public class DirList {
- public static void main(String[] args){
- //File path = new File(".");
- File path = new File("./src");
- String[] list;
- if(args.length == 0){
- list = path.list();
- }else{
- System.out.println(args[0]);
- list = path.list(new DirFilter(args[0]));
- }
- Arrays.sort(list,String.CASE_INSENSITIVE_ORDER);
- for(String dirItem : list){
- System.out.println(dirItem);
- }
- }
- }
- class DirFilter implements FilenameFilter{
- private Pattern pattern;
- public DirFilter(String regex){
- pattern = Pattern.compile(regex);
- }
- @Override
- public boolean accept(File dir, String name) {
- return pattern.matcher(name).matches();
- }
- }
args[0]为*\.java的时候:
Exception in thread "main" java.util.regex.PatternSyntaxException: Dangling meta character(晃来晃去的元字符,意思是在这里没有意义) '*' near index 0