精华内容
下载资源
问答
  • 文件过滤器FileFilter

    千次阅读 2017-09-05 21:12:19
    接口 FileFilter public interface FileFilter用于抽象路径名的过滤器。 此接口的实例可传递给 File 类的 listFiles(FileFilter) 方法。 方法摘要 ... 文件过滤器 建议用 匿名内部类方法来操作,

    接口 FileFilter
    public interface FileFilter用于抽象路径名的过滤器。
    此接口的实例可传递给 File 类的 listFiles(FileFilter) 方法。
    方法摘要
    boolean accept(File pathname)
    测试指定抽象路径名是否应该包含在某个路径名列表中。

    文件过滤器 建议用 匿名内部类方法来操作,因为这个接口只去使用一次,没必要去写个类去实现

    package com.wql.io;
    
    import java.io.File;
    import java.io.FilenameFilter;
    
    /**
     * 文件过滤器 建议用 匿名内部类方法来操作,因为这个接口只去使用一次,没必要去写个类去实现
     * 
     * @author St01
     * 
     */
    public class FilenameFilterDemo {
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            File file = new File("./src/com/wql/io");
    
            String[] list = file.list(new Filter());
            for (int i = 0; i < list.length; i++) {
                System.out.println(list[i]);
            }
    
            /**
             * 匿名内部类方法
             */
            System.out.println("----------------- 匿名内部类方法--------------------");
            String[] list2 = file.list(new FilenameFilter() {
                public boolean accept(File dir, String name) {
                    // TODO Auto-generated method stub
                    return name.endsWith(".java");
                }
            });
            for (int i = 0; i < list2.length; i++) {
                System.out.println(list2[i]);
            }
        }
    
    }
    
    class Filter implements FilenameFilter {
    
        public boolean accept(File dir, String name) {
            // TODO Auto-generated method stub
            return name.endsWith(".java");
        }
    
    }
    

    这里写图片描述

    展开全文
  • FilenameFilter和FileFilter文件过滤器

    千次阅读 2018-03-01 15:36:29
    文件过滤器简介 public interface FilenameFilter 实现此接口的类实例可用于过滤器文件名。Abstract Window Toolkit 的文件对话框组件使用这些实例过滤 File 类的 list 方法中的目录清单。 public interface ...

    文件过滤器简介

            public interface FilenameFilter

            实现此接口的类实例可用于过滤器文件名。Abstract Window Toolkit 的文件对话框组件使用这些实例过滤 File 类的 list 方法中的目录清单。

            public interface FileFilter 用于抽象路径名的过滤器。

            此接口的实例可传递给 File 类的 listFiles(FileFilter) 方法。


            一般地,使用list()和listFiles()返回所有文件和目录:

            String[] list() 返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。

            File[] listFiles() 返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。

            FilenameFilter 和 FileFilter用来把符合要求的文件或目录返回。

            String[] list(FilenameFilter filter) 返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中满足指定过滤器的文件和目录。

            File[] listFiles(FileFilter filter) 返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。

            File[] listFiles(FilenameFilter filter) 返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。

     

    方法详细信息

            1FilenameFilter接口:boolean accept(File dir, String name) 测试指定文件是否应该包含在某一文件列表中。

            参数:dir- 被找到的文件所在的目录。name- 文件的名称。

            返回:当且仅当该名称应该包含在文件列表中时返回true;否则返回false。

            2FileFilter接口:boolean accept(File pathname) 测试指定抽象路径名是否应该包含在某个路径名列表中。

            参数:pathname- 要测试的抽象路径名

            返回:当且仅当应该包含pathname 时返回 true

    两者的区别

            FilenameFilter中的accept函数接收的是两个参数:指定父目录的路径和父目录路径中所有的子文件或者子文件夹,需要将这两个参数封装成File的对象再使用File中的功能。

            FileFilter中的accept函数接收的则直接是:完整的路径,即需要进行过滤操作的文件或文件夹,直接可以使用File中的功能。

     

    过滤器一般用法

    以FilenameFilter的使用为例:

    1、实现FilenameFilter接口;

    2、实现booleanaccept(File dir,String name);

    class MyFilenameFilter implements FilenameFilter {
    	// type为需要过滤的条件,比如如果type=".jpg",则只能返回后缀为jpg的文件
    	private String type;
    
    	public MyFilenameFilter(String type) {
    		this.type = type;
    	}
    	
    	@Override
    	// 返回true的文件则合格
    	public boolean accept(File dir, String name) {
    		return name.endsWith(type);
    	}
    }
    


    程序实例

    package com.zxt.file;
    
    import java.io.File;
    import java.io.FileFilter;
    import java.io.FilenameFilter;
    
    /**
     *
     * @Description: 文件过滤器的使用
     *
     * @author: zxt
     *
     * @time: 2018年3月1日 下午3:13:06
     *
     */
    public class FileFilterTest {
    	
    	public static void main(String[] args) {
    		File file = new File("./");
    		// 列出目录下的所有文件和文件夹
    		String[] files = file.list();
    		for(int i = 0; i < files.length; i++) {
    			// System.out.println(files[i]);
    		}
    		
    		// 分别用FilenameFilter 和 FileFilter 实现过滤以.txt为后缀的文件
    		String[] files1 = file.list(new MyFilenameFilter(".txt"));
    		for(int i = 0; i < files1.length; i++) {
    			// System.out.println(files1[i]);
    		}
    		
    		// MyFileFilter过滤器用于 listFiles 函数
    		File[] files2 = file.listFiles(new MyFileFilter(".txt"));
    		for(int i = 0; i < files2.length; i++) {
    			System.out.println(files2[i].getName());
    		}
    	}
    }
    
    class MyFilenameFilter implements FilenameFilter {
    	// type为需要过滤的条件,比如如果type=".jpg",则只能返回后缀为jpg的文件
    	private String type;
    
    	public MyFilenameFilter(String type) {
    		this.type = type;
    	}
    	
    	@Override
    	// 返回true的文件则合格
    	public boolean accept(File dir, String name) {
    		// 这里如果需要使用文件的功能,则需要先进行封装
    		File file = new File(dir,name);
    		
    		return name.endsWith(type) && file.isFile();
    	}
    }
    
    class MyFileFilter implements FileFilter {
    	private String type;
    
    	public MyFileFilter(String type) {
    		this.type = type;
    	}
    	
    	@Override
    	public boolean accept(File pathname) {
    		// 这里如果需要使用文件的功能直接使用即可
    		return pathname.getName().endsWith(type) && pathname.isFile();
    	}
    }
    展开全文
  • FileFilter 文件过滤器

    千次阅读 2019-10-27 10:23:19
    返回一个抽象路径名数组,表示由此抽象路径名表示的满足指定过滤器的目录中的文件和目录。 创建实现类实现FileFilter接口 java.io Interface FileFilter抽象路径名的过滤器。 boolean accept(File pathname) 测试...

    FileFilter

    File[] listFiles(FileFilter filter)
    返回一个抽象路径名数组,表示由此抽象路径名表示的满足指定过滤器的目录中的文件和目录。
    在这里插入图片描述

    创建实现类实现FileFilter接口

    java.io
    Interface FileFilter抽象路径名的过滤器。
    boolean accept(File pathname)
    测试指定的抽象路径名是否应包含在路径名列表中。
    File[] listFiles(FilenameFilter filter)
    返回一个抽象路径名数组,表示由此抽象路径名表示的满足指定过滤器的目录中的文件和目录。

    实现类代码:

    public class Demo09FilterImpl implements FileFilter {
    @Override
    public boolean accept(File pathname) {
    
        if (pathname.isDirectory())
    
            return true;
        return pathname.toString().endsWith(".java");
    }
    }
    

    代码含义:如果文件是文件夹就返回,如果是以java为后缀名的文件也返回;也就是说在测试类方法中listFiles中只有文件夹和java文件可以选择。ListFiles上一章节有所介绍!

    测试类代码:

    public class Demo09FileFilter {
    public static void main(String[] args) {
        File file = new File("E:\\xpu\\ideaproject\\20190905\\src\\cn\\itcast\\File");
        digui(file);
    }
    public static void digui(File dir)
    {
        File[] files = dir.listFiles(new Demo09FilterImpl());//加载过滤器实现类
        for (File f :
                files) {
            if(f.isDirectory())//判断是否为文件夹,如果是
                digui(f);//使用递归,继续遍历其中的文件
            else {
                String s = f.toString();
                boolean b = s.endsWith(".txt");
                if (b)
                    System.out.println(f);
            }
    
    
        }
    }
    }
    

    效果演示:

    Process finished with exit code 0
    由于没有过滤的是java文件和文件夹,并没有txt文本文件,所以没有打印结果!

    使用匿名内部类来实现文件过滤器

    代码:

    public class Demo10FileFilterannoy {
    public static void main(String[] args) {
        File file = new File("E:\\xpu\\ideaproject\\20190905\\src\\cn\\itcast\\File");
        digui(file);
    }
    public static void digui(File dir)
    {
      /*  File[] files = dir.listFiles(new FileFilter() {
            @Override
            public boolean accept(File pathname) {
                if(pathname.isDirectory())
                    return true;
                return pathname.toString().endsWith(".java");
            }
        });//加载过滤器实现类*/
        //使用lambda
        /*File[] files = dir.listFiles((pathname)->{
            {
                if(pathname.isDirectory())
                    return true;
                return pathname.toString().endsWith(".java");
            }
        });//加载过滤器实现类*/
        //简化lambda
       /* File[] files = dir.listFiles((pathname)->  pathname.isDirectory()||pathname.toString().endsWith(".java")
        );//加载过滤器实现类*/
       //第二种过滤器
        /*File[] files = dir.listFiles(new FilenameFilter() {
            @Override
            public boolean accept(File dir, String name) {
                File pathname=new File(dir,name);
                return pathname.isDirectory()||name.toString().endsWith(".java");
            }
        });*/
        //使用lambda
       /*     File[] files = dir.listFiles((d, name)-> {
    
                return new File(d,name).isDirectory()||name.toString().endsWith(".java");
    
        });*/
        //简化lambda
        File[] files = dir.listFiles((d,name)->new File(d,name).isDirectory()||name.toString().endsWith(".java"));
        for (File f :
                files) {
            if(f.isDirectory())//判断是否为文件夹,如果是
                digui(f);//使用递归,继续遍历其中的文件
            else {
                String s = f.toString();
                boolean b = s.endsWith(".java");
                if (b)
                    System.out.println(f);
            }
    
        }
    }
    }
    

    其中有使用lambda简化代码:请读者搜索其他文章

    展开全文
  • 文件过滤器不显示css文件问题

    千次阅读 2018-05-27 18:16:01
    在浏览器中进入index.jsp页面的时候不...后来发现原来是写文件过滤器的时候,不过滤文件只写了index.jsp和signin.jsp文件,而css文件被过滤了无法加载。只要在文件过滤器中添加相应的css文件就会正常加载出来啦。...

    在浏览器中进入index.jsp页面的时候不加载css文件,在网上百度多次一直没有任何靠谱的答案。


    后来发现原来是写文件过滤器的时候,不过滤文件只写了index.jsp和signin.jsp文件,而css文件被过滤了无法加载。

    只要在文件过滤器中添加相应的css文件就会正常加载出来啦。

    展开全文
  • Java中File文件类之文件过滤器

    千次阅读 2018-01-30 20:47:29
    文件过滤器文件过滤器是个接口过滤器一:File[] listFiles(FileFilter filter) public static void fun1() { // 测试过滤器(FileFilter) File file = new File("/Users/lanou/Desktop/level"); // 使用重载 的 ...
  • Qt文件过滤器

    千次阅读 2018-04-08 12:04:12
    //获取所选文件类型过滤器 QStringList filters; filters &lt;&lt; QString("*.txt") &lt;&lt; QString("*.TXT"); //定义迭代器并设置过滤器 QDirIterator dir_ite...
  • C#文件过滤器filter

    千次阅读 2019-04-27 23:29:52
    OpenFileDialog ofd = new OpenFileDialog(); //显示所有文件 ...//筛选多种文件,同时筛选文件(只是在筛选中多添加了几个后缀,不同后缀之间使用分号隔开) ofd.Filter = "图片|*.jpg;*....
  • 文件过滤器Beyond Compare如何设置

    千次阅读 2016-12-22 17:24:46
    Beyond Compare软件是一款专业的文件夹以及文件比较工具,支持多种比较...当我们在比较内容繁多,格式复杂的文件夹时,需要过滤掉无需对比的文件,来简化文件夹比较工作,那么Beyond Compare软件如何设置文件过滤器呢?
  • FilePath = QFileDialog::getOpenFileName(this, tr("Open Binary File"), ".", tr("All files (*.*);;Images (*.jpg *.jpeg *.tif ...qt文件过滤,qt文件类型过滤 qt限定文件类型,qt筛选文件类型,qt文件选择框
  • Apache VFS(3): 文件过滤器和选择器

    千次阅读 2009-10-27 15:54:00
    本系列文章导航Apache VFS(1): 基本介绍Apache VFS(2): 文件的监听和监控Apache VFS(3): 文件过滤器和选择器Apache VFS(4): 事件Apache VFS(5): 使用它!Apache VFS(6): 几个重要的概念性接口Apache VFS(7): 文件...
  • C# 文件过滤器filter

    千次阅读 2018-01-11 19:29:16
    OpenFileDialog对话框的Filter属性说明: ...义,“|*.xls”是筛选,表示筛选文件夹中后缀名为.xls的文件,“*”表示匹配Excel文件名称的字符串。 OK,下面说说我们经常要用到的几种情况: 1. Fil
  • java复习第7天---7.4---IO流---递归、文件过滤器 目录 文章目录1、递归1.1、递归概述和分类2、过滤器***后记*** : 内容 1、递归 1.1、递归概述和分类 递归:在方法内调用自己 递归分类 递归分为直接递归...
  • 本博客的目的性很强,就是奔着怎么使用java中JFileChooser文件选择来的,那么很多内部原理性的东西就不过于赘述了,直接以例子出发,帮助大家理解怎么使用它 定义一个常量用于保存文件目录 创建一个方法用于封装...
  • [转]Qt中的文件过滤器

    千次阅读 2010-11-11 22:05:00
    Qt中的文件过滤器A file filter consists of a descriptive text and a wildcard pattern. Had we supported comma-separated values files and Lotus 1-2-3 files in addition to Spreadsheet's native ...
  • java.io.FilenameFilter是文件名过滤器,用来过滤不符合规格的文件名,并返回合格的文件; 一般地: (1)String[] fs = f.list(); (2)File[] fs = f.listFiles(); 这两个方法返回f下的所有文件或目录; ...
  • C#文件过滤器 filter

    千次阅读 2012-11-09 11:05:53
    首先说明一个示例,分析一下Filter属性的构成:“ Excel文件|*.xls ”,前面的“Excel文件”成为标签,是一个可读的字符串,可以自定定义,“|*.xls”是筛选,表示筛选文件夹中后缀名为.xls的文件,“*”表示匹配...
  • java JFileChooser与 文件过滤器FileFilter

    千次阅读 2013-12-22 13:26:53
    JfileChooser使用中可以用addChoosableFileFilter()方法来实现文件过滤。 public void addChoosableFileFilter(FileFilter filter); FileFilter 是一个抽象类,JFileChooser 使用它过滤显示给用户的文件集合。 ...
  • MFC中CFileDialog文件过滤器lpstrfilter

    千次阅读 2016-02-29 11:49:47
    fdialog.m_ofn.lpstrFilter = "所有文件(*.*)\0*.bmp;*.tga;*.pcx;*.jpg;*.jpeg;*.gif\0"   "BMP(*.bmp)\0*.bmp\0"   "TGA(*.tga)\0*.tga\0"   
  • java 文件过滤器的6种实现方法

    千次阅读 2014-07-10 16:05:32
    注:运行环境 ... * 条件:java中有一个FilenameFilter的接口,能够过滤得到指定类型的文件或者目录,其中必须重写accept(File file,String path)方法  */ import java.io.File; import ja
  • CFileDialog类封装了Windows常用的文件对话框。常用的文件对话框提供了一种简单的与Windows标准相一致的文件打开和文件存盘对话框功能。 成员变量:  m_ofn: m_ofn是OPENFILENAME类型的结构。使用此结构,在创建...
  • fdialog.m_ofn.lpstrFilter = "所有文件(*.*)\0*.bmp;*.tga;*.pcx;*.jpg;*.jpeg;*.gif\0"   "BMP(*.bmp)\0*.bmp\0"   "TGA(*.tga)\0*.tga\0"   
  • 文件过滤器,FileFilter这个接口sun公司并没有给我们实现类,所以我们可以自定义实现类,重写accept方法,调用String类的endswith方法判断文件的类型,进行过滤。 public class MyFileFilter implements ...
  • 初学Java,IO之文件过滤器(四十)

    千次阅读 2012-03-12 17:32:09
    //如果文件以.java结尾,或者文件对应一个路径,返回true return name.endsWith(".java") || new File(name).isDirectory(); } } public class FileNameFilterTest { public static void main(String[] args) ...
  • 一、字段摘要: static String separator //与系统有关的默认名称分隔...//参数可以传目录路径,或者文件路径(相对和绝对均可)。 File file = new File(String parent,String child);//根据 parent 路径名字符串
  • 原地址:http://blog.sina.com.cn/s/blog_7a27a9bf0100s887.html 有时候需要在程序中查找某一目录下的某一类文件,例如需要在E:\data\file_selector_test 目录下面查找所有已.java为后缀名
  • java过滤器Filter

    万次阅读 多人点赞 2019-07-31 19:08:31
    Servlet中的过滤器Filter是实现了javax.servlet.Filter接口的服务器端程序,主要的用途是过滤字符编码、做一些业务逻辑判断如是否有权限访问页面等。其工作原理是,只要你在web.xml文件配置好要拦截的客户端请求,它...
  • Spring cloud Gateway 指定执行过滤器 ... 在配置文件中配置所需要过滤器 gateway的配置过滤器分为两种 ①:全局过滤器 全局过滤器 不需要在配置文件配置,所有到服务的请求都会进行拦截, /**...
  • 基于文件过滤驱动中minifilter过滤驱动框架开发,可以记录文件所有的操作,保存创建、重命名等,监控所有的I/O操作,包括驱动程序和用户端应用程序源码,对文件系统过滤有很大参考价值。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 509,969
精华内容 203,987
关键字:

文件过滤器