黑马程序员技术交流社区

标题: :从键盘输入接收一个文件夹路径,打印出该文件夹下所有的.java文件名 [打印本页]

作者: cxl1694095035    时间: 2016-5-20 21:43
标题: :从键盘输入接收一个文件夹路径,打印出该文件夹下所有的.java文件名

import java.io.File;
import java.util.Scanner;

public class Demo11_Test2 {
        /*
         * 需求:从键盘输入接收一个文件夹路径,打印出该文件夹下所有的.java文件名
         */
        public static void main(String[] args) {
                File dir = getDir();
                printJavaFile(dir);

        }
       
        /*
         * 获取键盘录入的文件夹路径
         * 返回值类型File
         * 参数列表无
         */
        public static File  getDir() {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入一个文件夹路径");
                while(true) {                                                                //定义无限循环
                        String line = sc.nextLine();                        //将键盘录入的文件夹路径存储在Line中
                        File dir = new File(line);                                //封装成File对象,并对其进行判断
                        if(!dir.exists()) {                                                //如果录入的是不存在的给与提示
                                System.out.println("录入的文件夹路径不存在,请重新录入");
                        }else if(dir.isFile()) {                                //如果录入的是文件路径,给与提示
                                System.out.println("录入的是文件路径,请重新录入");
                        }else {
                                return dir;                                                        //如果是文件夹路径,直接返回
                        }
                }
        }
        /*
         * 获取文件夹下的所有.java文件
         * 1,返回值类型void
         * 2,参数列表File dir
         */
        public static void printJavaFile(File dir) {
                File[] subFiles = dir.listFiles();                        //获取到该文件夹路径下的所有文件和文件夹,存储在File中
                for (File subfile : subFiles) {                                //遍历数组,对每一个文件或文件夹做判断
                        if(subfile.isFile() && subfile.getName().endsWith(".java")) {       
                                System.out.println(subfile);
                        }else if(subfile.isDirectory()) {                //如果是文件夹,就用递归调用
                                printJavaFile(subfile);       
                        }
                }
        }
}

作者: 菜鸟小白    时间: 2016-5-20 21:59
嗯,这个视频里有
作者: losttemp    时间: 2016-5-20 22:33
递归的基本用法..




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