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); } } }

    运行结果如图:

  • 相关阅读:
    Javascript操纵Cookie--转
    java使用jsp servlet来防止csrf 攻击的实现方法
    Creating a CSRF protection with Spring 3.x--reference
    Preventing CSRF in Java web apps---reference
    Linux服务器集群系统(四)--转
    Linux服务器集群系统(三)--转
    UVA 10529 Dumb Bones 可能性dp 需求预期
    android 渐变drawable
    定义你自己ViewGroup
    Android系统关机或几种方式重启
  • 原文地址:https://www.cnblogs.com/Chsy/p/11807240.html
Copyright © 2011-2022 走看看