目录列示器
本实例演示如何得到一个目录下的所有文件列表
.
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*/
}
}
运行结果
:
posted on 2006-08-24 19:29
摩西 阅读(223)
评论(0) 编辑 收藏