FilenameFilter过滤文件名

发布时间:2017-5-29 23:40:33 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"FilenameFilter过滤文件名 ",主要涉及到FilenameFilter过滤文件名 方面的内容,对于FilenameFilter过滤文件名 感兴趣的同学可以参考一下。

前言:

  文件IO是程序设计语言的一个特点,本文将针对Java的File文件名过滤进行测试。

测试目录截图:

测试结果:

data.txtoutput-3.txtoutput-4.txtoutput-d.txtpeople-id.txtqqmusic_cn_seed.txttext-a20.txt--- finish ----

版本一:接口继承

package com.yeezhao.common.io.v1;import java.io.File;import java.io.FilenameFilter;import java.util.regex.Pattern;public class MyFilenameFilter implements FilenameFilter {    final static String REGEX = ".*\\.txt";    @Override    public boolean accept(File dir, String name) {        return Pattern.matches(REGEX, name);    }}
package com.yeezhao.common.io.v1;import java.io.File;import java.util.Arrays;public class FilenameFilterV1 {    public static void main(String[] args)  throws Exception{        System.out.println("--- start ----");        File file = new File("c://test");        String[] list = file.list(new MyFilenameFilter());        Arrays.sort(list, String.CASE_INSENSITIVE_ORDER); //忽略字符串大小写进行字典排序        for(String l:list){            System.out.println(l);        }        System.out.println("--- finish ----");    }}

版本二:内部类初始化内部对象属性

package com.yeezhao.common.io.v2;import java.io.File;import java.io.FilenameFilter;import java.util.Arrays;import java.util.regex.Pattern;public class FilenameFilterV2 {    private static String REGEX =".*\\.txt";    private static FilenameFilter filter = new FilenameFilter() {        @Override        public boolean accept(File dir, String name) {            return Pattern.matches(REGEX, name);        }    };    public static void main(String[] args) throws Exception {        File file = new File("c://test");        String[] list = file.list(filter);        Arrays.sort(list, String.CASE_INSENSITIVE_ORDER);  //忽略字符串大小写进行字典排序        for (String l : list) {            System.out.println(l);        }        System.out.println("--- finish ----");    }}

版本三:内部类直接调用方法

package com.yeezhao.common.io.v3;import java.io.File;import java.io.FilenameFilter;import java.util.Arrays;import java.util.regex.Pattern;public class FilenameFilterV3 {    private static String REGEX =".*\\.txt";    public static void main(String[] args) {        File file = new File("c://test/");        String[] list = file.list(new FilenameFilter() {                        @Override            public boolean accept(File dir, String name) {                return Pattern.matches(REGEX, name);            }        });        Arrays.sort(list, String.CASE_INSENSITIVE_ORDER);  //忽略字符串大小写进行字典排序        for (String l : list) {            System.out.println(l);        }        System.out.println("--- finish ----");    }}

附:File对象的list()方法 

后语:

   Java.io涉及相当多的工具类,后续在研究之余希望能上手java.nio的一些内容并进行对比为是!

上一篇:SmartUpload实现文件上传时file和表单文本同时提交的问题
下一篇:一片天空也是一只笼子

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。