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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

import java.io.File;
import java.io.FileFilter;
import java.io.FilenameFilter;

/*
* 当前目录 "D:\\java\\测试"   
*   目录下所有的文件名称是.java(包含子文件夹)
*   
*     分析:  
*       1:指定要遍历的文件夹  封装 成File对象 File dir
*       2:写一个方法  传递  目录  ,将目录下指定的文件  输出来
*         printDir(dir);  写一个方法  遍历 该目录下的所有的文件和文件夹  拿到.java结尾的
*         2.1:获取dir目录下所有的文件与文件夹
*         2.2:通过遍历Files数组 得到每一个文件对象
*/
public class fileFF {
        public static void main(String[] args) {
                File f = new File("D:\\java\\测试" );
                getFF1(f);
                System.out.println("----------------------------------");
                getFF2(f);
        }
        //方法一:普通方法(建议使用)
        private static void getFF1(File f) {
                //數組接收
                File[] fs = f.listFiles();
                //判斷是不是文件,再判斷是不是.txt結尾
                for (File file : fs) {
                        if(file.isFile()){
                                if(file.getName().endsWith(".txt")){
                                        System.out.println(file);
                                }
                        }else{
                                getFF1(file);
                        }
                }
        }
        //方法二:过滤器(了解就行)
        private static void getFF2(File f) {
                File[] fs = f.listFiles(new myfilter());
                for (File file : fs) {
                        System.out.println(file);
                }
        }  
}
  class myfilter implements FileFilter{
        public boolean accept(File pathname) {
                /*//如果 是文件   
            //是文件之后 还得是 以.java结尾 才可以  才能返回true
        if(pathname.isFile()){
                if(pathname.getName().endsWith(".java")){
                        return true;
                }else{
                        return false;
                }
        }else{
                return false;
        }
         */               
           if(pathname.isDirectory()){
                        return false;       
                }
                return pathname.getName().endsWith(".txt");
        }       
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马