使用非递归实现遍历目录
2007-03-29 17:55
246 查看
标准的JDK里面只有栈(java.util.Stack),而没有队列,所以在使用栈来实现遍历时,进行深度遍历,如果实在想实现广度遍历的话,可以自己组合java.util.LinkedList来实现一个队列。
import java.io.File;
import java.util.Stack;
public class NoRecursive ...{
/** *//**
* @param args
*/
public static void main(String[] args) ...{
// TODO Auto-generated method stub
File root = new File("C:/");
Stack stack = new Stack();
stack.push(root);
while(stack.size()>0)...{
File file = (File)stack.pop();
File[] files = file.listFiles();
for (int i = 0; i < files.length; i++) ...{
if(files[i].isDirectory() && !files[i].isHidden())...{
stack.push(files[i]);
}else if(files[i].isFile() && !files[i].isHidden())...{
System.out.println(files[i].getPath());
}
}
}
}
}
import java.io.File;
import java.util.Stack;
public class NoRecursive ...{
/** *//**
* @param args
*/
public static void main(String[] args) ...{
// TODO Auto-generated method stub
File root = new File("C:/");
Stack stack = new Stack();
stack.push(root);
while(stack.size()>0)...{
File file = (File)stack.pop();
File[] files = file.listFiles();
for (int i = 0; i < files.length; i++) ...{
if(files[i].isDirectory() && !files[i].isHidden())...{
stack.push(files[i]);
}else if(files[i].isFile() && !files[i].isHidden())...{
System.out.println(files[i].getPath());
}
}
}
}
}
相关文章推荐
- PHP使用内置dir类实现目录遍历删除
- Window下使用C语言实现目录的遍历
- 使用非递归方法遍历目录
- 使用PHP遍历文件目录与清除目录中文件的实现详解
- python使用递归实现目录遍历
- 使用PHP遍历文件目录与清除目录中文件的实现详解
- Python 使用 OS 模块实现目录遍历
- 代码示例:递归遍历文件夹实现目录拷贝
- c语言实现dos命令dir dir/s 目录遍历
- Elasticsearch使用Scroll-Scan实现数据遍历
- 二叉树三种遍历(递归及非递归)的实现
- 递归和非递归俩种方法实现二叉树的前序遍历
- 二叉树的遍历C实现(非递归)—中序遍历
- linux安装分区以及挂载目录的使用来实现ssh公钥的共享
- 递归的一些方法使用:深度遍历路径中的所有文件和目录,删除一个有文件的文件夹
- 【python中二叉树的实现】python中二叉树的创建、三种方式递归遍历和非递归遍历
- Android Studio 实现AIDL时在不能使用 aidl 目录下内容的解决方法
- [置顶] 二叉树的非递归前序、中序以及后序遍历C++模版类实现
- 定时器的使用;回调函数的使用;目录遍历算法;硬盘信息获取;
- 使用 python 遍历目录下的文件