[code=Java][/package javaio;
import java.io.*;
import java.util.*;
public class DirList { /**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
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);
}}
]
[code=Java][/package javaio;
import java.util.regex.*;
import java.io.*;
public class DirFilter implements FilenameFilter {
private Pattern pattern;
public DirFilter(String regex){
pattern = Pattern.compile(regex);
}
@Override
public boolean accept(File dir, String name) {
// TODO Auto-generated method stub
return pattern.matcher(name).matches();
}}
]

解决方案 »

  1.   

    从你这个程序来看,直接运行没有参数就可以输出文件列表,也可以带参数输出 参数的作用是构造FileFilter,
      

  2.   

    恩,就想构造FileFilter,譬如我想输出F盘所有的.java文件,请教命令行参数应该怎样写?
      

  3.   

    想要相关语言的所有资料吗?那就快来吧。
    我的压缩包里面不止一两样东西哦,那可是我当初学习的所有资料。
    http://download.csdn.net/user/yangtonghai
      

  4.   

    可以在命令行也可以在eclipse设置programme arguments命令行java DirList *.java在eclipse的找到设置programme arguments 加上 *.java 虽然正则不是特别准确,但是也可以输出了过滤器是你自己代码的逻辑,实际上是public DirFilter(String regex){
            pattern = Pattern.compile(regex);
        }    public boolean accept(File dir, String name) {
    // TODO Auto-generated method stub
            return pattern.matcher(name).matches();
        }
    用正则表达进行的验证,如果你仅仅用文件后缀的话没必要这么麻烦