package com.robert;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
public class Main3 {
public static void main(String args[]) {
File file = new File("/Users/robert/Downloads/资料/");
try {
StringBuffer stringBuffer = new StringBuffer();
printFilePath(file, stringBuffer);
File logFile = new File("/Users/robert/Documents/log.txt");
logFile.delete();
FileWriter fileWriter = new FileWriter(logFile, true);
fileWriter.write(stringBuffer.toString());
fileWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void printFilePath(File file, StringBuffer stringBuffer) throws IOException {
if (!file.exists()) {
throw new RuntimeException("file is not exist");
}
if (file.isDirectory()) {
File[] files = file.listFiles();
for (File tempFile : files) {
printFilePath(tempFile, stringBuffer);
}
} else {
stringBuffer.append(file.getAbsolutePath()).append("\n");
}
}
public static void printFilePath2(File file) throws IOException {
if (!file.exists()) {
throw new RuntimeException("file is not exist");
}
File logFile = new File("/Users/robert/Documents/log2.txt");
logFile.delete();
FileWriter fileWriter = new FileWriter(logFile, true);
List<File> files = new LinkedList<>();
if (file.isDirectory()) {
Collections.addAll(files, file.listFiles());
} else {
// System.out.println(file.getAbsolutePath());
fileWriter.write(file.getAbsolutePath());
}
while (files.size() > 0) {
File tempFile = files.get(0);
files.remove(tempFile);
if (tempFile.isDirectory()) {
Collections.addAll(files, tempFile.listFiles());
} else {
// System.out.println(tempFile.getAbsolutePath());
fileWriter.write(tempFile.getAbsolutePath());
fileWriter.write("\n");
}
}
fileWriter.close();
}
}
列出文件夹下的文件,递归和非递归实现
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 《冒牌天神》,是2003年环球影视出品的一部喜剧电影,由汤姆·沙迪亚克执导,金·凯瑞、詹妮弗·安妮斯顿、摩根·弗里...