zoukankan      html  css  js  c++  java
  • 文件过滤器

    利用java.io包里的File类,可以实现对文件的操作。

    现在有个需求,要求遍历一个文件夹及其子文件夹里的所有文件,并且过滤出txt格式的文件,该如何做呢?

    实现方法很简单,首先是通过递归遍历文件,然后对获得的文件,判断其是不是以"txt"结尾就可以了。

    代码如下:

     1     public static void getAllFile(File dir) {
     2         File[] fileArr = dir.listFiles();
     3         for(File file:fileArr) {
     4             if(file.isDirectory())
     5                 getAllFile(file);
     6             if(file.isFile()) {
     7                 String fileName = file.getName();
     8                 if(fileName.toLowerCase().endsWith("txt"))
     9                     System.out.println(file);
    10             }
    11         }
    12     }

    其中,getAllFile的参数dir是文件的路径。

    运行结果如图

    也可以通过文件过滤器来实现。

    代码如下:

    class FileFilterImpl implements FileFilter{
        public boolean accept(File pathname) {
            //如果pathname 是个文件夹,返回true
            if(pathname.isDirectory())
                return true;
            return pathname.getName().toLowerCase().endsWith("txt");
        }
    public static void getAllFile(File dir) {
         //listFiles()函数将获得的路径名传给accept方法,
    //accept方法判断是文件还是文件夹,如果是文件夹返回true,
        //如果是文件,判断是不是txt格式的,如果是返回true,否则返回false
    File[] fileArr
    = dir.listFiles(new FileFilterImpl()); //文件过滤器 for(File file:fileArr) { if(file.isDirectory()) getAllFile(file); if(file.isFile()) { System.out.println(file); } } }

    运行结果如图:

  • 相关阅读:
    1.14 作业
    1.12作业
    1.9 作业 矩阵转置与输出九宫格
    1.8 作业
    1.7 作业 打印菱形
    1.5 作业
    1.4作业 不同的年龄,不同的问候语
    PHP语言 -- 发起流程
    PHP语言 -- 新建流程
    PHP语言 -- 权限
  • 原文地址:https://www.cnblogs.com/Chsy/p/11807240.html
Copyright © 2011-2022 走看看