版权声明:本文为博主原创文章,未经博主允许不得转载 https://blog.csdn.net/qq_24644517/article/details/84035099
需求:从键盘输入接收一个文件夹路径,打印出该文件夹下所有的.java文件名
package com.heima.chario;
import java.io.File;
import java.util.Scanner;
public class Demo9_DiGui {
public static void main(String[] args) {
File dir=getDir();
PrintJavaFile(dir);
}
---判断输入的路径是否是文件夹
public static File getDir() {
Scanner sc=new Scanner(System.in);
System.out.println("请输入文件夹路径");
while(true) {
String line=sc.nextLine();
File dir=new File(line);
if(!dir.exists()) {
System.out.println("您录入的文件夹路径不存在");
}else if(dir.isFile()){
System.out.println("您输入的是文件");
}else {
return dir;
}
}
}
//获取文件夹路径下的所有java文件
public static void PrintJavaFile(File Dir) {
File [] arr=Dir.listFiles();//获取文件或文件夹对象
for (File file : arr) {//遍历File数组
if(file.isFile()&&file.getName().endsWith(".java")) {//判断对象是否是以.java结尾的类型的文件,是的话就输出
System.out.println(file);
}else if(file.isDirectory()) {//判断是否是目录,是的话,就继续调用PrintJavaFile()方法进行递归
PrintJavaFile(file);
}
}
}
}