A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

我只是教材视频的搬运工
  1. public class Demo09 {

  2.         /**
  3.          * 需求:从键盘输入接收一个文件夹路径,打印出该文件夹下所有的.java文件名
  4.          *
  5.          * 分析:
  6.          * 从键盘接收一个文件夹路径
  7.          *         1,如果录入不催在,提示
  8.          *         2,如果录入文件路径,提示
  9.          *         3,如果文件夹路径,直接返回
  10.          * 打印出该文件夹下所有的.java文件名
  11.          *         1,获取到该文件夹路径下的所有文件和文件夹,存储在一个File数组中
  12.          *         2,遍历数组,对每一个文件或文件夹做判断
  13.          *         3,如果是文件,并且后缀是.java的,就打印
  14.          *         4,如果是文件夹,就递归调用
  15.          *
  16.          */
  17.         public static void main(String[] args) {
  18.                 File dir = getDir();
  19.                 printJavaFile(dir);
  20.                
  21.         }
  22.        
  23.         /*
  24.          * 获取键盘录入的文件夹路径
  25.          * 1,返回值类型是File
  26.          * 2,不需要有参数
  27.          */
  28.         public static File getDir() {
  29.                 Scanner sc = new Scanner(System.in);
  30.                 System.out.println("请输入一个文件夹路径");
  31.                 while (true) {
  32.                         String line = sc.nextLine();
  33.                         File dir = new File(line);
  34.                         if (!dir.exists()) {
  35.                                 System.out.println("录入的路径不存在");
  36.                         }else if (dir.isFile()) {
  37.                                 System.out.println("录入的是文件路径,重新录入");
  38.                         }else {
  39.                                 return dir;
  40.                         }
  41.                 }
  42.         }
  43.        
  44.         /*
  45.          * 获取文件夹路径下的所有.java文件
  46.          * 1,返回值类型void
  47.          * 2.参数列表File dir
  48.          */
  49.         public static void printJavaFile(File dir) {
  50.                
  51.                 File[] subFiles = dir.listFiles();
  52.                
  53.                 for (File subFile : subFiles) {
  54.                        
  55.                         if(subFile.isFile() && subFile.getName().endsWith(".java")) {
  56.                                 System.out.println(subFile);
  57.                         }else if (subFile.isDirectory()) {
  58.                                 printJavaFile(subFile);
  59.                         }
  60.                 }
  61.         }

  62. }
复制代码


10 个回复

倒序浏览
有用说不定就是自己遇到的问题
回复 使用道具 举报
面试题?
回复 使用道具 举报

是滴是滴
回复 使用道具 举报
楼主好牛啊啊啊啊
回复 使用道具 举报
666 6666 666
回复 使用道具 举报
分享的好
回复 使用道具 举报
面试题这个难度吗???
回复 使用道具 举报
看懂一点点,还是有点懵
回复 使用道具 举报
这是什么的面试题?不会是基础班的吧!!!
回复 使用道具 举报
这是面试题啊,厉害厉害。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马