随笔-28  评论-32  文章-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 阅读(918) 评论(1)  编辑  收藏 所属分类: JAVA/J2EE

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



标题  
姓名  
主页
验证码 *  
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-04-06 14:03 编辑过