Java基础--IO-列出目录下所有文件
package com.fileiodemo;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class FileDemo {
//方法一
private static List<File> files = new ArrayList<File>();
public static List<File> getDirAllFiles(File directory) {
File[] files2 = directory.listFiles();
for (File file : files2) {
if (file.isFile()) {
files.add(file);
}else if (file.isDirectory()) {
getDirAllFiles(file);
}
}
return files;
}
//方法二
public static List<File> getDirAllFiles1(List<File> files,File directory) {
File[] files2 = directory.listFiles();
for (File file : files2) {
if (file.isFile()) {
files.add(file);
}else if (file.isDirectory()) {
getDirAllFiles1(files,file);
}
}
return files;
}
public static void main(String[] args) {
String fname = "E:/app/test/a.txt";
String fdir = "E:/app/test";
File directory = new File(fdir);
//测试一
List<File> files = getDirAllFiles(directory);
for (File file : files) {
System.out.println(file.getAbsolutePath());
}
System.out.println("文件的个数:"+files.size());
//测试二
List<File> files1 = getDirAllFiles1(new ArrayList<File>(),directory);
for (File file : files1) {
System.out.println(file.getAbsolutePath());
}
System.out.println("文件的个数:"+files1.size());
}
}