您的位置:首页 > 其它

使用非递归实现遍历目录

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());


}


}


}


}




}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: