随笔-28  评论-51  文章-10  trackbacks-0
在此例中,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
*///:~
posted on 2007-11-13 11:34 fullfocus 阅读(1125) 评论(1)  编辑  收藏 所属分类: JAVA/J2EE

评论:
# re: Thinking in java---I/O系统 2007-11-13 19:01 | 千里冰封
就这点代码?  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: