java核心编程之文件过滤类FileFilter和FilenameFilter

发布时间 - 2026-01-11 02:57:05    点击率:

本文实例为大家分享了文件过滤类FileFilter和FilenameFilter,供大家参考,具体内容如下

1.FileFilter

package test;

import java.io.File;
import java.io.FileFilter;

public class FileFilterTest implements FileFilter {
  
  
  private String extension;
  
  public FileFilterTest(String extension) {

    this.extension = extension;
  }
  /**
   * 
   */
  @Override
  public boolean accept(File pathname) {
      
    if(pathname.isDirectory()){
      return false;
    }
    
    String name = pathname.getName();
    int num = name.lastIndexOf(".");
    if(num == -1){
      return false;
    }
    if(name.length()-1 == num){
      return false;
    } else {
    
      return extension.equals(name.substring(num+1));
    }
  }
  
  
  public static void main(String[] args) {
    
    File path = new File("E:\\书籍\\java 编程");
    //获得过滤对象
    FileFilterTest ft = new FileFilterTest("pdf");
    
    File[] files = path.listFiles(ft);
    
    for (int i = 0; i < files.length; i++) {
      System.out.println(files[i].getAbsolutePath());
    } 
    
  }

}

2.FilenameFilter

package test;

import java.io.File;
import java.io.FilenameFilter;

public class FileNameFilterTest implements FilenameFilter {
  
  //判断图片是否格式是否是 gif
  private boolean isGif(String fileName){
    if(fileName.toLowerCase().endsWith(".gif")){
      return true;
    } else {
      return false;
    }
    
  }
  //判断图片是否格式是否是 jpg
  private boolean isJpg(String fileName){
    if(fileName.toLowerCase().endsWith(".jpg")){
      return true;
    } else {
      return false;
    }
    
  }
  //判断图片是否格式是否是 png
  private boolean isPng(String fileName){
    if(fileName.toLowerCase().endsWith(".png")){
      return true;
    } else {
      return false;
    }
    
  }
  
  

  @Override
  public boolean accept(File dir, String name) {
    return (isGif(name)||isJpg(name)||isPng(name));
  }
  
  public static void main(String[] args) {
    File path = new File("C:\\img");
    //获得过滤对象
    FileNameFilterTest ft = new FileNameFilterTest();
    
    File[] f = path.listFiles(ft);
    
    for (int i = 0; i < f.length; i++) {
      File file = f[i];
      
      System.out.println(file.getAbsolutePath());
      
    }
  }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# java  # 文件过滤类  # FileFilter  # FilenameFilter  # Java对XML文件增删改查操作示例  # java实现变更文件查询的方法  # java使用DOM4J对XML文件进行增删改查操作  # java查找文件夹下最新生成的文件的方法  # java使用文件流实现查看下载次数  # java批量修改文件后缀名方法总结  # Java IO文件后缀名过滤总结  # Java使用FilenameFilter查找出目录下指定后缀的文件示例  # 大家分享  # 具体内容  # 大家多多  # extension  # Override  # boolean  # String  # FileFilterTest  # implements  # private  # accept  # getName  # int  # num  # false  # pathname  # isDirectory  # return  # pre  # class 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel Debugbar怎么安装_Laravel调试工具栏配置指南  Swift开发中switch语句值绑定模式  如何在宝塔面板中创建新站点?  html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】  php485函数参数是什么意思_php485各参数详细说明【介绍】  如何为不同团队 ID 动态生成多个“认领值班”按钮  如何获取免费开源的自助建站系统源码?  百度输入法ai组件怎么删除 百度输入法ai组件移除工具  Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门  Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)  Laravel如何使用.env文件管理环境变量?(最佳实践)  如何在腾讯云服务器上快速搭建个人网站?  简单实现Android文件上传  通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】  Python正则表达式进阶教程_复杂匹配与分组替换解析  Laravel如何实现事件和监听器?(Event & Listener实战)  Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案  Laravel如何自定义分页视图?(Pagination示例)  Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程  高性能网站服务器部署指南:稳定运行与安全配置优化方案  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  Python函数文档自动校验_规范解析【教程】  Android仿QQ列表左滑删除操作  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件  高端建站如何打造兼具美学与转化的品牌官网?  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  JavaScript数据类型有哪些_如何准确判断一个变量的类型  jQuery 常见小例汇总  使用spring连接及操作mongodb3.0实例  Python文件异常处理策略_健壮性说明【指导】  利用vue写todolist单页应用  C#如何调用原生C++ COM对象详解  HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  ,在苏州找工作,上哪个网站比较好?  消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工  JavaScript Ajax实现异步通信  Laravel如何创建和注册中间件_Laravel中间件编写与应用流程  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  jQuery validate插件功能与用法详解  如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】  Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置  Internet Explorer官网直接进入 IE浏览器在线体验版网址  Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程  Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】  googleplay官方入口在哪里_Google Play官方商店快速入口指南  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明