public static void main(String args[]){
File file=new File("c:/");
listFile(file," ");
}
public static void listFile(File file,String spc){
if(file.isDirectory()){
System.err.println(spc + file.getName());
File[] files = file.listFiles();
String tmpS = "";
for (int i = 0; i < spc.length(); i++) {
tmpS += " ";
}
String flag="┣━ ";
for (int i = 0; i < files.length; i++) {
if(i==files.length-1){
flag="┗━ ";
}
listFile(files[i], tmpS + flag);
}
} else {
System.out.println(spc + file.getName());
}
}
这是个很简单的程序,功能是输出指定目录下的所有文件(包括子目录)。
按照程序的执行顺序,当遇到子目录时会先将子目录下的文件打印输出,但是实际执行时却出现一些问题。
我在Jbuilder2006,NetBeans5.0,Eclipse3.1与Dos控制台下分别运行,只有Dos控制台下能输出正确结果。而Jbuilder,NetBeans与Eclipse却有些问题,只能在Debug模式下才能输出正确结果。
另一个测试:将信息保存到文件中,这时上面三种IDE工具输出的信息都是正确的。
这证明上面三个IDE工具的控制台输出存在Bug。