62,614
社区成员
发帖
与我相关
我的任务
分享
package com.baidu;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Demo04 {
/*
* 从控制台端获取输入的目录,然后将目录下所有的文件名包括子文件夹里的文件
* 的文件名存放到list集合中,并统计一共有多少个文件。
*/
static int count =0;
public static void main(String[] args) {
File dir=getDir();
List<String> list=getName(dir);
for (String str : list) {
System.out.println(str);
}
System.out.println("个数:"+count);
}
public static List<String> getName(File dir) {
List<String> list=new ArrayList<String>();
File[] subFiles = dir.listFiles();
for (File subFile : subFiles) {
if(subFile.isDirectory()){
getName(subFile);
}else{
list.add(subFile.getName());
count++;
}
}
return list;
}
public static File getDir() {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个文件夹路径");
while (true) {
String line = sc.nextLine();
File file = new File(line);
if (!file.exists()) {
System.out.println("您输入的路径不存在,请重新输入!");
} else if (file.isFile()) {
System.out.println("您输入的是文件的路径,请输入一个文件夹路径!");
} else {
return file;
}
sc.close();
}
}
}