SSISO Community

시소당

Displays directory listing using regular expressions

import  java.io.File;
import  java.io.FilenameFilter;
import  java.util.Arrays;
import  java.util.Comparator;
import  java.util.regex.Pattern;

public  class  DirList  {
    public  static  void  main(String[]  args)  {
        File  path  =  new  File(".");
        String[]  list;
        if  (args.length  ==  0)
            list  =  path.list();
        else
            list  =  path.list(new  DirFilter(args[0]));
        Arrays.sort(list,  new  AlphabeticComparator());
        for  (int  i  =  0;  i  <  list.length;  i++)
            System.out.println(list[i]);
    }
}

class  DirFilter  implements  FilenameFilter  {
    private  Pattern  pattern;

    public  DirFilter(String  regex)  {
        pattern  =  Pattern.compile(regex);
    }

    public  boolean  accept(File  dir,  String  name)  {
        //  Strip  path  information,  search  for  regex:
        return  pattern.matcher(new  File(name).getName()).matches();
    }
}  ///:~

class  AlphabeticComparator  implements  Comparator  {
    public  int  compare(Object  o1,  Object  o2)  {
        String  s1  =  (String)  o1;
        String  s2  =  (String)  o2;
        return  s1.toLowerCase().compareTo(s2.toLowerCase());
    }
}  ///:~
[2008년  04월  04일  09:40:49  수정되었습니다.]

691 view

4.0 stars