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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

package com.heima.test;

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

public class Test1 {

        public static void main(String[] args) {
                File dir = getDir();
                printJavaFile(dir);
        }
       
        public static File getDir() {                                //定义一个获取文件夹路径的方法
                Scanner sc = new Scanner(System.in);               
                System.out.println("请输入一个文件夹路径");
                while(true) {                                                        //录入的不是文件夹路径就一直循环
                        String line = sc.nextLine();
                        File dir = new File(line);                        //封装成File对象
                        if(!dir.exists()) {
                                System.out.println("输入的路径不存在,请重新输入");
                        } else if(dir.isFile()) {
                                System.out.println("输入的是文件路径,请重新输入");
                        } else {
                                return 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);         //文件后缀是.jaba的就打印
                        } else if(subFile.isDirectory()) {
                                printJavaFile(subFile);                        //是文件夹就递归调用
                        }
                }
        }
}

3 个回复

倒序浏览
想要找别的类型文件也可以,把后缀名该了就行,隐藏文件也能打印,你们懂的
回复 使用道具 举报
王冀仁 来自手机 中级黑马 2015-12-21 16:38:17
藤椅
这学的很不好,看来你是大神啊
回复 使用道具 举报
王冀仁 发表于 2015-12-21 16:38
这学的很不好,看来你是大神啊

这也是我最近才学到的,一起学习吧
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马