废话不谈,直接进入正题,理解见代码注释。
//非递归 公共ListscanFiles (String路径){ List (); LinkedList 列表=new LinkedList (); 文件dir=新文件(路径); []文件=dir.listFiles (); for (int i=0;我& lt;file.length;我+ +){ 如果(文件[我].isDirectory ()) {//把第一层的目录,全部放入链表 [我]list.add(文件); } filePaths.add(文件[我].getAbsolutePath ()); }//循环遍历链表 而(! list.isEmpty ()) {//把链表的第一个记录删除 文件tmp=list.removeFirst ();//如果删除的目录是一个路径的话 如果(tmp.isDirectory ()) {//列出这个目录下的文件到数组中 文件=tmp.listFiles (); 如果文件==null){//空目录 继续; }//遍历文件数组 for (int i=0;我& lt;file.length;+ + i) { 如果(文件[我].isDirectory ()) {//如果遍历到的是目录,则将继续被加入链表 [我]list.add(文件); } filePaths.add(文件[我].getAbsolutePath ()); } } } 返回filePaths; }
以上就是本文关于Java编程获取文件列表及子文件目录的方法(非递归)的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:Java编程子类能否重写父类的静态方法探索,Java编程枚举类型那些事!枚举类型定义和重写枚举的方法等,如有不足之处,欢迎留言参考。感谢朋友们对本站的支持!