关于用递归实现遍历系统目录的小程序.(windows下)
2010-04-28 22:37
429 查看
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();但是程序老是在运行一段时间后(很短)异常,不过貌似程序没终止,但是没有结果了,没办法去网上找了个,就上面这个.不过运行的时候还是会出现和我自己写的一样的问题.
有大虾帮忙分析下.
不胜感谢.
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();但是程序老是在运行一段时间后(很短)异常,不过貌似程序没终止,但是没有结果了,没办法去网上找了个,就上面这个.不过运行的时候还是会出现和我自己写的一样的问题.
有大虾帮忙分析下.
不胜感谢.
相关文章推荐
- C自定义函数的可变参数列表实现 Windows APIS目录遍历程序 [李园7舍_404]
- Python 实现根据不同的程序运行环境存放日志目录,Python实现Linux和windows系统日志的存放
- 面试题-程序题-Java递归实现遍历文件目录(所有文件夹和子文件)
- Qt实现遍历文件夹和文件目录(递归)
- Qt实现遍历文件夹和文件目录(递归) .
- python实现递归遍历目录(linux下测试通过)
- 遍历(广度优先)windows系统某一目录
- IO系统_用递归遍历目录
- qt轻便实现递归目录遍历
- Windows服务程序的原理及实现(服务分为WIN32服务和系统服务)
- python实现目录递归遍历
- Windows系统托盘图标程序之Java实现
- 关于在 Windows 和 VMware workstation 之间实现共享目录的问题
- C++实现Linux和Windows下遍历指定目录下的文件
- 遍历目录的非递归实现
- Windows下递归搜索文件及其所在目录 .bat脚本实现
- 1,windows系统中创建一个node命令行程序、2,node标准工程目录
- VC++/MFC 小程序 文件/目录对话框 递归遍历文件/文件夹
- 复制自身程序到windows目录和系统目录,获取系统的相关信息
- 【C】——APUE小程序之递归遍历目录