package com.dongjunjie.student;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Scanner;
//此类是针对递归的复习
public class Tset2 {
// 需求:在控制台输入路径名并返回此目录下的所有指定后缀文件名的文件名,并将其文件名存储到指定的文件当中.
public static void main(String[] args) throws IOException {
System.out.println("请输入您的文件夹名称:");
//String endWithString;
getFilesName(getFile());
}
public static File getFile() { // 获取符合条件的文件夹对象.
Scanner sc = new Scanner(System.in);
while (true) {
String s = sc.nextLine();
File file = new File(s);
if (file.exists()) {
if (file.isFile()) {
System.out.println("您输入的是文件名,不是文件夹路径,请重新输入:");
} else {
return file;
}
} else {
System.out.println("您输入的路径名称不存在,请重新输入一个新的文件夹的路径:");
}
}
}
public static void getFilesName(File file) throws IOException{
FileOutputStream fos = new FileOutputStream("endwith.txt");
File[] files = file.listFiles();
for(File file1:files){
if(file1.isDirectory()){
getFilesName(file1);
}else if(file1.getName().endsWith(".java")){
System.out.println(file1.getName());
fos.write(file1.getName().getBytes());
//System.out.println("---------------");
}
}
fos.close();
}
}