dirfilter.java

来自「这是java实例的书上例题」· Java 代码 · 共 39 行

JAVA
39
字号
import java.io.*;
public class DirFilter implements FilenameFilter
{
    private String prefix="",suffix="";            //文件名的前缀、后缀
    public DirFilter(String filterstr)
    {
        filterstr = filterstr.toLowerCase();
        int i = filterstr.indexOf('*');
        int j = filterstr.indexOf('.');
        if (i>0)
            prefix = filterstr.substring(0,i);
        if (j>0)
            suffix = filterstr.substring(j+1);
    }
    public static void main(String args[])
    {                                  //创建带通配符的文件名过滤器对象
        FilenameFilter filter = new DirFilter("w*abc.txt");
        File f1 = new File("");  
        File curdir = new File(f1.getAbsolutePath(),"");   //当前目录
        System.out.println(curdir.getAbsolutePath());
        String[] str = curdir.list(filter);  //列出带过滤器的文件名清单
        for (int i=0;i<str.length;i++)
            System.out.println("\t"+str[i]);
    }
    public boolean accept(File dir, String filename)
    {
        boolean yes = true;
        try
        {
            filename = filename.toLowerCase();
            yes = (filename.startsWith(prefix)) &
                  (filename.endsWith(suffix));
        }
        catch(NullPointerException e)
        {
        }
        return yes;
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?