**
* 需求:从键盘输入接收一个文件夹路径,打印出该文件夹下所有的.java文件名
*
* 分析: 从键盘接收一个文件夹路径 1
* ,如果录入的是不存在,给与提示
* 2,如果录入的是文件路径,给与提示
* 3,如果是文件夹路径,直接返回
*
* 打印出该文件夹下所有的.java文件名 1,获取到该文件夹路径下的所有的文件和文件夹,
* 存储在File数组中
* 2,遍历数组,对每一个文件或文件夹做判断
* 3,如果是文件,并且后缀是.java的,就打印
* 4,如果是文件夹,就递归调用
*/
public class Test11 {
public static void main(String[] args) {
File dir =getDir();
printDir(dir);
}
public static void printDir(File dir) {
//1,获取到该文件夹路径下的所有的文件和文件夹,
File[] file=dir.listFiles();
//2,遍历数组,对每一个文件或文件夹做判断
for (File file2 : file) {
if(file2.isFile()&&file2.getName().endsWith(".java")){
System.out.println(file2);
}else if(file2.isDirectory()){
printDir(file2);
}
}
}
public static File getDir() {
//从键盘接收一个文件夹路径
Scanner sc =new Scanner(System.in);
System.out.println("请输入文件夹路径");
while(true){
String str=sc.nextLine();
File file =new File(str); //封装成file对象
//1,如果录入的是不存在,给与提示
if(!file.exists()){
System.out.println("您输入的文件夹路径不存在");
}else if(file.isFile()){
System.out.println("您输入的是文件路径,请重新输入");
}else{
return file;
}
}
}
} |
|