日期:2014-05-20  浏览次数:20644 次

Java I/O系统 命令行参数应该怎样设置才能输出结果
[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();
}

}
]

------解决方案--------------------
从你这个程序来看,直接运行没有参数就可以输出文件列表,也可以带参数输出 参数的作用是构造FileFilter,
------解决方案--------------------
想要相关语言的所有资料吗?那就快来吧。
我的压缩包里面不止一两样东西哦,那可是我当初学习的所有资料。
http://download.csdn.net/user/yangtonghai
------解决方案--------------------
可以在命令行也可以在eclipse设置programme arguments

命令行java DirList *.java

在eclipse的找到设置programme arguments 加上 *.java 虽然正则不是特别准确,但是也可以输出了

过滤器是你自己代码的逻辑,实际上是
Java code
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();
    }