⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dirfilter.java

📁 《Java2程序设计实用教程(第2版)》课件
💻 JAVA
字号:
//【例9.7】  带过滤器的文件名列表。

import java.io.*;

public class DirFilter implements FilenameFilter
{
    private String prefix;                                 //文件名前缀
    private String extend;                                 //文件扩展名
    
    public DirFilter(String filterstr)
    {
        this.prefix = "";
        this.extend = "";
        filterstr = filterstr.toLowerCase();
        int i = filterstr.indexOf('*');
        if (i>0)
            this.prefix = filterstr.substring(0,i);        //获得*之前的字符串

        int j = filterstr.indexOf('.');
        if (j>0)
        {
            this.extend = filterstr.substring(j+1);        //获得.之后的文件扩展名字符串
            if (this.extend.equals("*"))                   //识别"*.*"
                this.extend = "";
        }
        
        File dir = new File(".","");                       //当前目录
        System.out.println(dir.getAbsolutePath()+"目录中,"+filterstr+"文件如下: ");
        String[] filenames = dir.list(this);               //获得指定目录中带过滤器的文件名列表
        for (i=0;i<filenames.length;i++)
            System.out.println(filenames[i]);
    }
    
    public DirFilter()
    {
        this("*.*");
    }
    
    public boolean accept(File dir, String filename)
    {
        filename = filename.toLowerCase();
        return (filename.startsWith(this.prefix)) & (filename.endsWith(this.extend));
    }

    public static void main(String args[])
    {
        new DirFilter("*.java");
//        new DirFilter();                           //没有参数或"*.*"都表示所有文件
    }
    
}

/*
程序运行结果如下:

C:\myjava\.目录中,*.java文件如下: 
DirFilter.java
FileList.java


C:\myjava\.目录中,*.*文件如下: 
DirFilter.class
DirFilter.java
DirFilter.txt
FileList.class
FileList.java
FileList.txt
java2.bat
mypackage


*/

⌨️ 快捷键说明

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