Thinking in java---I/O系统

Thinking in java---I/O系统
在此例中,new File(".")表示本项目路径,如要把所有以.py结尾的文件过滤出来,参数传递为“.*\.py”
package  io;

// : io/DirList.java
//  Display a directory listing using regular expressions.
//  {Args: "D.*\.java"}
import  java.util.regex. * ;
import  java.io. * ;
import  java.util. * ;

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, 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);
  }
  
public   boolean  accept(File dir, String name) {
    
return  pattern.matcher(name).matches();
  }
/*  Output:
DirectoryDemo.java
DirList.java
DirList2.java
DirList3.java
*/// :~


你可能感兴趣的:(Thinking in java---I/O系统)