package com.practice;
import java.io.File;
import java.util.Scanner;
public class Practice_digui2 {
public static void main(String[] args) {
/*
* 分析:
* 本函数分三部分
* 第一部分 主函数,内有两个方法调用,分别是fun():创建数组接收dir的文件列表,遍历并判断.java的文件
* getDir()用于创建键盘录入对象,当调用该方法时
* 键盘可以接受一个文件夹路径,并封装成一个file文件夹路径传递给fun()
* 第二部分fun()函数
* 第三部分getDir()函数
*/
File dir = getDir();
fun(dir);
}
private static void fun(File dir) {
File[] subFiles = dir.listFiles();
//遍历数组
for (File subfile : subFiles) {
if (subfile.isFile()&&subfile.getName().endsWith(".java")) {
System.out.println(subfile);
}else if(subfile.isDirectory()){
fun(dir);
}
}
}
private static File getDir() {
System.out.println("输入一个文件夹路径");
Scanner sc = new Scanner(System.in);
while(true){
String line = sc.nextLine();
File dir = new File(line);
if (dir.isFile()) {
System.out.println("输入的是文件名,请重新输入");
}else if(!dir.exists()){
System.out.println("输入的文件目录不存在");
}else{
return dir;
}
}
}
}
这个代码哪里出错了? |
|