java遍历文件目录方法
来源:互联网 发布:rf3148编程器 编辑:程序博客网 时间:2024/05/25 23:25
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]);
else
System.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]);
else
System.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性能相对好一些。
*(如果用report不知道能不能实现,有机会试一下)
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]);
else
System.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]);
else
System.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性能相对好一些。
*(如果用report不知道能不能实现,有机会试一下)
- java遍历文件目录方法
- java遍历文件目录
- Java遍历文件目录
- Java遍历文件目录
- php 遍历目录文件方法
- java常用方法之遍历目录,删除指定文件
- Java遍历文件目录的两种方法
- java遍历目录或文件
- java遍历目录中的文件
- Java 文件目录的遍历
- JAVA 嵌套目录遍历方法 遍历文件夹 嵌套遍历方法
- python指定文件目录遍历方法
- python常用文件查找/目录遍历方法
- java 遍历目录下的文件
- java 遍历目录,操作文件 tree命令
- java遍历文件目录(采用递归)
- JAVA文件目录的遍历列表
- java基础:递归应用---遍历文件目录
- 2009年,元旦快乐!
- ★★★【庖丁解牛:纵向切入Asp.net 3.5控件和组件开发技术系列—(4)服务器控件属性】★★★
- structs的配置..
- 关于Python 2to3 的应用.
- DAILY BUILD
- java遍历文件目录方法
- Windows DLL在目标进程中的描述(2)
- 双缓冲刷新效率的改善
- 考研和失业
- 不跑码 “FF”
- DONALD+GERALD=ROBERT
- AMD 8450E三核CPU 安装sql2005
- (翻译)Django 1.0 中文文档-----指导 第二部分
- C# 学习笔记 -- 抽象类和多态