package site.suimu;
import java.io.File;
import java.util.LinkedList;
public class ReadDir {
public static void main(String[] args) {
String dirPath = "/home/lennon/temp";
ReadDir readDir = new ReadDir();
//使用非递归的方法调用
// readDir.traverseFolder1(dirPath);
//使用递归的方法调用
readDir.traverseFolder2(dirPath);
}
/*
* 使用递归的方法调用
* */
public void traverseFolder2(String path) {
File file = new File(path);
if (file.exists()) {
File[] files = file.listFiles();
if (null == files || files.length == 0) {
System.out.println("文件夹是空的!");
return;
} else {
for (File file2 : files) {
if (file2.isDirectory()) {
System.out.println("文件夹: " + file2.getName());
traverseFolder2(file2.getAbsolutePath());
} else {
System.out.println("文件: " + file2.getName());
}
}
}
} else {
System.out.println("文件不存在!");
}
}
/*
* 使用非递归的方法调用
* */
public void traverseFolder1(String path) {
int fileNum = 0, folderNum = 0;
File file = new File(path);
if (file.exists()) {
LinkedList<File> list = new LinkedList<File>();
list.add(file);
boolean first = true;
File[] files;
while (!list.isEmpty()){
files = list.removeFirst().listFiles();
for(File file1 : files){
if(file1.isDirectory()){
System.out.println("文件夹: " + file1.getName());
list.add(file1);
folderNum++;
}else {
System.out.println("文件: " + file1.getName());
fileNum++;
}
}
}
} else {
System.out.println("文件不存在!");
}
System.out.println("文件夹共有:" + folderNum + ",文件共有:" + fileNum);
}
}
java 读取某一路路径下的所有文件
最新推荐文章于 2024-06-30 03:24:02 发布