import java.io.File;
public class Dir
{
/**
* @param args
*/
public static void main(String[] args)
{
Dir dir = new Dir();
String[] diskNames = { "A:/", "B:/", "D:/", "E:/", "F:/", "G:/",
"H:/", "I:/", "J:/", "K:/", "L:/", "M:/", "N:/", "O:/", "P:/",
"Q:/", "R:/", "S:/", "T:/", "U:/", "V:/", "W:/", "X:/", "Y:/", "Z:/" };
for (int i=0; i<25; i++)
{
dir.dir(new File(diskNames[i]));
}
}
// TODO Auto-generated method stub
public void dir(File path)
{
if (path == null || !path.exists() || path.isFile()) //没有这个目录,或者这个路径是一个文件而不是文件夹,则返回
{
System.out.println(path.getAbsolutePath());
return;
}
else //如果这个路径是一个文件夹,则列出文件夹中的所有文件,并且对每一个文件进行递归访问
{
File[] files = path.listFiles();
File file = null;
int len = files.length;
for (int i = 0; i < len; i++)
{
file = files[i];
dir(file);
}
}
}
}
之前自己写了一个也是用递归遍历的,不过用的是File.list();但是程序老是在运行一段时间后(很短)异常,不过貌似程序没终止,但是没有结果了,没办法去网上找了个,就上面这个.不过运行的时候还是会出现和我自己写的一样的问题.
有大虾帮忙分析下.
不胜感谢.