java 过滤指定后缀文件
java 过滤指定后缀文件
java 过滤指定后缀文件
  • 发表于 1年前
  • 阅读 9
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

通过FilenameFilter实现过滤文件后缀,下面是实现方法

 

 public static Map listPath(File file) {
        
        // 接收筛选过后的文件对象数组
        //用文件对象调用listFiles(FilenameFilter filter);方法,
        //返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录
        File files[] = file.listFiles(new MyFilenameFilter());
        //遍历出指定文件路径下的所有符合筛选条件的文件
        for(File f: files){
            if(f.isDirectory()){
                listPath(f);//递归遍历下
            }else{
                readFile(f);//  读取文件的方法
                System.out.println(f);
            }
        }
        return map;           
    }

package com.common;

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

public class MyFilenameFilter implements FilenameFilter {
    
    /**
     * 重写文件过滤器accept方法
     * param dir:当前文件  name:当前文件名
     * return boolean true or false
     *
     */
    @Override
    public boolean accept(File dir, String name) {
        // 创建返回值
        boolean flag = true;

        //dir.toString().indexOf("test")<0&& 是否过滤掉包含test的目录结构
        if (name.toLowerCase().endsWith(".html")) {
            //System.out.println(dir.toString());
        }else if((new File(dir, name).isDirectory())){
            
        }else {
            flag = false;
        }
          
        //当返回true时,表示传入的文件满足条件
        return flag;
    }

}

FilenameFileter介绍:

Java.io.FilenameFilter是文件名过滤器,用来过滤不符合规格的文件名,并返回合格的文件;

1.实现FilenameFilter接口;

2.实现boolean accept(File dir,String name);   //dir表示文件的当前目录,name表示文件名;

class MyFilter implements FilenameFilter{

private String type;            //type为需要过滤的条件,比如如果type=".jpg",则只能返回后缀为jpg的文件

public MyFilter(String type){

this.type = type;

}

public boolean accept(File dir,String name){           //返回true的文件则合格

 

}

}

共有 人打赏支持
粉丝 0
博文 17
码字总数 8927
×
起名字什么的太麻烦了
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: