Java中遍历文件夹的2种方法
java遍历文件夹的两种办法:
A. 不使用递归
import java.io.File;
import java.util.LinkedList;
public class FileSystem {public static void main(String[] args) {long a = System.currentTimeMillis();LinkedList list = new LinkedList();File dir = new File("c:\\java\\");File file[] = dir.listFiles();for (int i = 0; i < file.length; i++) {if (file[i].isDirectory())list.add(file[i]);elseSystem.out.println(file[i].getAbsolutePath());}File tmp;while (!list.isEmpty()) {tmp = list.removeFirst();if (tmp.isDirectory()) {file = tmp.listFiles();if (file == null)continue;for (int i = 0; i < file.length; i++) {if (file[i].isDirectory())list.add(file[i]);elseSystem.out.println(file[i].getAbsolutePath());}} else {System.out.println(tmp.getAbsolutePath());}}System.out.println(System.currentTimeMillis() - a);}
}
B. 使用递归
import java.io.File;
import java.util.ArrayList;
public class FileSystem1 {private static ArrayList filelist = new ArrayList(); public static void main(String[] args) {long a = System.currentTimeMillis();refreshFileList("c:\\java");System.out.println(System.currentTimeMillis() - a);}public static void refreshFileList(String strPath) { File dir = new File(strPath); File[] files = dir.listFiles(); if (files == null) return; for (int i = 0; i < files.length; i++) { if (files[i].isDirectory()) { refreshFileList(files[i].getAbsolutePath()); } else { String strFileName = files[i].getAbsolutePath().toLowerCase();System.out.println("---"+strFileName);filelist.add(files[i].getAbsolutePath()); } } }
}
结论:经过测试,使用递归的方法B性能相对好一些。
Java中遍历文件夹的2种方法相关推荐
- Java中遍历Set集合的三种方法
Map集合:链接: Map集合的五种遍历方式及Treemap方法 Set集合:链接: Java中遍历Set集合的三种方法 TreeSet集合:链接: Java深入了解TreeSet,和迭代器遍历方法 ...
- Java中遍历Set集合的三种方法(实例代码)
哈喽,欢迎来到小朱课堂,下面开始你的学习吧! Java中遍历Set集合的三种方法 废话不多说,直接上代码 1.迭代遍历: Set set = new HashSet(); Iterator it = ...
- linux18.04 英文文件夹,在Ubuntu 18.04 LTS中打开文件夹的6种方法
在Ubuntu中打开文件夹是作为常规Ubuntu用户执行的基本任务之一.尽管有很多方法可以这样做,但是当访问系统上的文件夹时,我们都有选择的方式. 在本文中,我们将解释一些方法: 在文件管理器(Nau ...
- hadoop学习——在HDFS中创建文件夹的两种方法
参考书籍:<Hadoop大数据技术开发实战> shell命令创建文件夹 启动hdfs,终端输入:start-dfs.sh 在hdfs中创建一个input文件夹: hadoop fs -mk ...
- 总结java创建文件夹的4种方法及其优缺点-JAVA IO基础总结第三篇
本文是Java IO总结系列篇的第3篇,前篇的访问地址如下: 总结java中创建并写文件的5种方式-JAVA IO基础总结第一篇 总结java从文件中读取数据的6种方法-JAVA IO基础总结第二篇 ...
- java 中io的删除文件_总结删除文件或文件夹的7种方法-JAVA IO基础总结第4篇
本文是Java IO总结系列篇的第4篇,前篇的访问地址如下: 如果您阅读完成,觉得此文对您有帮助,请给我点个赞,您的支持是我不竭的创作动力. 为了方便大家理解,我特意制作了本文对应的视频:总结删除文件 ...
- java 自动删除文件夹权限_总结删除文件或文件夹的7种方法-JAVA IO基础总结第4篇...
本文是Java IO总结系列篇的第4篇,前篇的访问地址如下: 如果您阅读完成,觉得此文对您有帮助,请给我点个赞,您的支持是我不竭的创作动力.为了方便大家理解,我特意制作了本文对应的视频:总结删除文件或 ...
- Java中遍历Map集合的5种方式总结
这篇文章主要给大家介绍了关于Java中遍历Map集合的5种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值. 方式一 通过Map.keySet使用iterator遍历 ...
- 深入探讨:linux中遍历文件夹下的所有文件
深入探讨:linux中遍历文件夹下的所有文件 http://www.jb51.net/article/37664.htm
最新文章
- python中间是什么意思_中间代码说明
- Atitit 常用sdk 模块 组织架构切分 规范与范例attilax总结
- JAVA 注解的基本原理
- Android 应用 之路 百度地图API使用(3)
- Enterprise search debugging via test report in AG3
- 异步解耦_如何使用异步生成器解耦业务逻辑
- 苹果3月新品发布会one more thing曝光:或许就是iPhone SE 2
- 织梦怎样调取mysql_如何实现dedecms外部数据库调用
- 解决win2003默认不能使用移动硬盘的问题
- c语言经典100例对考研有用吗,考研数学经验,没用算这学长输
- 电脑故障,usb驱动安装失败如何修复解决方案-驱动人生
- 3D建模:角色手办的制作流程,分分钟一个手办
- 仿微信通讯录的Demo----PinnedHeaderListView
- 记录MySQL数据库如何修改密码.
- UI 设计中的视觉无障碍设计
- 帕斯卡三角形题解(Python代码实现)
- 建筑施工技术【19】
- 基于python的国内外研究现状怎么写_(√)毕业论文指之国内外研究现状的写法与范文...
- 腾讯应用宝如何认领应用详情(超详细)
- 谷歌浏览器+WIN10系统兼容问题(谷歌浏览器64位崩溃问题)