package com.fenqing.stream;
import java.io.File;
import java.util.Scanner;
public class demo8_digui {
/**
* 从键盘接受一个文件夹路径,3种情况:
* 1.录入的不存在
* 2.是文件路径
* 3.是文件夹路径,直接返回
*/
public static void main(String[] args) {
File dir=getDir();
System.out.println(dir);
System.out.println("**********");
endWithJava(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); //封装成file类
if(!dir.exists()){
System.out.println("不存在此文件夹路径");
}else if(dir.isFile()){
System.out.println("这是文件路径");
}else if(dir.isDirectory()){
return dir;
}
}
}
/*
*获取该文件夹路径下的所有的文件和文件夹,存储在File数组里
*1 返回值类型void
*2 参数列表File dir
*/
public static void endWithJava(File dir){
File[] s=dir.listFiles(); //1.获取到该文件夹下所有文件,文件夹,存储在File数组里
for (File ss : s) { //2.遍历数组,对每一个文件或文件夹做判断
if(ss.isFile()&&ss.getName().endsWith(".java")){
System.out.println(ss);
}else if(ss.isDirectory()){ //3.如果是文件夹,就递归调用
endWithJava(ss);
}
}
System.out.println("遍历结束!");
}
}
File类(2)--递归
最新推荐文章于 2024-04-15 16:58:55 发布