当前位置 主页 > 网站技术 > 代码类 >

    Java使用FilenameFilter查找出目录下指定后缀的文件示例

    栏目:代码类 时间:2019-10-28 15:06

    本文实例讲述了Java使用FilenameFilter查找出目录下指定后缀的文件。分享给大家供大家参考,具体如下:

    在项目中需要查找指定目录下特定后缀的文件,在jdk官网上查看资料时找到了FilenameFilter这个类,怎么用也写了,但是就是没给个例子,对有些人实在有些不方便,这也是写这篇文章的初衷,虽然简单但希望能帮到需要的小伙伴们

    下面直接入正题,给出demo程序:

    package net.csdn.johnhuster;
    import java.io.File;
    import java.io.FilenameFilter;
    public class FileNameFilterDemo {
     //内部类
     public class FileFilter implements FilenameFilter 
     {
      private String filterRule;
       public FileFilter(String filter)
       {
        this.filterRule = filter;
       }
       @Override
       public boolean accept(File dir, String name) {
        if(name.lastIndexOf('.')>0)
        {
          // get last index for '.' char
          int lastIndex = name.lastIndexOf('.');
         // get extension
         String str = name.substring(lastIndex);
          // match path name extension
          if(str.equals(this.filterRule))
          {
          return true;
          }
         }
         return false;
    }
    public static void main(String[] args)
    {
    File f = null; 
    File[] paths; 
    FileNameFilterDemo fileFilter = new FileNameFilterDemo(); 
    try{ 
    // create new file 
    f = new File("d:\\fileList"); 
    // 文件文件名字过滤器 
    FilenameFilter fileNameFilter = fileFilter .new FileFilter(".txt") ; 
    // returns pathnames for files and directory 
    paths = f.listFiles(fileNameFilter); 
    // for each pathname in pathname array 
    for(File path:paths){ 
    // prints file and directory paths 
    System.out.println(path); 
    } 
    }catch(Exception e)
    { 
    // if any error occurs 
    e.printStackTrace(); 
    } 
    }
    }
    
    

    更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java文件与目录操作技巧汇总》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》和《Java缓存操作技巧汇总》

    希望本文所述对大家java程序设计有所帮助。