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.isDirectory())
list.add(file);
else
System.out.println(file.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.isDirectory())
list.add(file);
else
System.out.println(file.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.isDirectory()) {
refreshFileList(files.getAbsolutePath());
} else {
String strFileName = files.getAbsolutePath().toLowerCase();
System.out.println("---"+strFileName);
filelist.add(files.getAbsolutePath());
} } }}
结论:经过测试,使用递归的方法B性能相对好一些。
分享到:
相关推荐
NULL 博文链接:https://dietime1943.iteye.com/blog/1405929
java 遍历文件夹 叶子节点 结点 和 深度
java遍历文件夹工具类共4页.pdf.zip
遍历一个文件夹下面的所有文件(包括文件夹下的文件夹)
java遍历文件夹里图片并保存到txt文件夹 ,便于opencv进行读取训练集
主要为大家详细介绍了Java遍历文件夹下所有文件并重新命名,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
遍历文件夹自动生成目录树 遍历文件夹自动生成目录树
java实现遍历文件夹内的pdf,分别转成一张jpg图片,且图片名称为与原pdf名称一致。内含PDFRenderer.jar和itext-1.3.1.jar必用jar包
NULL 博文链接:https://ningwuyu.iteye.com/blog/1138554
JAVA 遍历图片文件夹的 Java 图形界面 JAVA 遍历图片文件夹的 Java 图形界面
遍历某文件夹下的
主要介绍了Java遍历文件夹及子目录代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
本篇文章主要介绍了JAVA 遍历文件夹下的所有文件(递归调用和非递归调用) ,具有一定的参考价值,有兴趣的可以了解一下。
例如url=c:\文件夹1,而文件夹1中包含多个文件夹,现在程序要求遍历所有文件夹找出文件夹中的文件,然后原样保存到D盘的文件夹中去。原样是指只需文件夹中文件过去就可以,不用再还原文件夹。从键盘键入文件夹
提供学习,运行成功后发上来!有修改意见的朋友请给于指导!
java代码,遍历文件目录下所有的文件并列出其名称。新手代码,如有冒犯,请多指教
JAVA遍历下载FTPS服务器上的文件,
用java实现遍历文件夹中文件并且以树形结构输出
使用java解析一个文件夹中所有的txt文档,直接上代码