posts - 44,  comments - 48,  trackbacks - 0
<2006年8月>
303112345
6789101112
13141516171819
20212223242526
272829303112
3456789

常用链接

留言簿(1)

随笔分类

随笔档案

文章档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜

目录列示器

本实例演示如何得到一个目录下的所有文件列表 .

1.       这里利用了 DirFilter 实现了 FilenameFilter 接口 , 因此必须继承 accept 的方法 .

2.       用到了匹配字符序列与正则表达式指定模式的类 Matcher,Pattern 所以要 java.util.regex 引入 .

实例程序 :

package javaio;

import java.io.*;

import java.util.*;

import java.util.regex.*;

 

public class DirList {

  public static void main(String[] args) {

    File path = new File("c:/");

    String[] list;

    if(args.length == 0){

      list = path.list();

    }

    else{

      // 这里将输入的参数作为过滤因子

      list = path.list(new DirFilter(args[0]));

    }

    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) {

    // 判断名为 name 的文件是不是符合过滤条件

    return pattern.matcher(new File(name).getName()).matches();/*matches() 尝试将整个区域 / 与模式匹配。 new File(name).getName() 得到 String 类的 name*/

  }

}

运行结果 :

Image00003.jpg

posted on 2006-08-24 19:29 摩西 阅读(227) 评论(0)  编辑  收藏

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


网站导航: