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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© losttemp 中级黑马   /  2016-5-23 22:10  /  381 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

**
* 需求:从键盘输入接收一个文件夹路径,打印出该文件夹下所有的.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;
                }
                }
               
        }
}

3 个回复

倒序浏览
这个厉害,get
回复 使用道具 举报
思路真清晰。
回复 使用道具 举报
可以,很好.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马