黑马程序员技术交流社区

标题: 面试题之从键盘输入接收一个文件夹路径,打印出该文件夹... [打印本页]

作者: 怪人长    时间: 2016-3-23 18:55
标题: 面试题之从键盘输入接收一个文件夹路径,打印出该文件夹...
我只是教材视频的搬运工
  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. }
复制代码



作者: 11210107    时间: 2016-3-24 09:16
有用说不定就是自己遇到的问题

作者: guyulei    时间: 2016-3-24 09:31
面试题?
作者: 怪人长    时间: 2016-3-24 17:20
guyulei 发表于 2016-3-24 09:31
面试题?

是滴是滴
作者: 进击的鬼笔环肽    时间: 2016-5-26 23:10
楼主好牛啊啊啊啊
作者: liuqjss    时间: 2016-5-26 23:54
666 6666 666
作者: 流离岁月    时间: 2016-6-4 20:52
分享的好
作者: budongjiuwenba    时间: 2016-6-7 22:24
面试题这个难度吗???
作者: yiyajing    时间: 2016-6-8 01:34
看懂一点点,还是有点懵
作者: 郎行天下    时间: 2016-6-11 11:13
这是什么的面试题?不会是基础班的吧!!!
作者: zhangyu009    时间: 2016-6-12 23:59
这是面试题啊,厉害厉害。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2