文件后缀名的过滤

定义过滤类:

主要是实现FileFilter接口里面的accept()方法,

通过此方法来实现对指定文件夹下面的文件类

型的过滤.

 

package chapter10.branch08;

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

public class Myfilter implements FileFilter {
 private String extension;
 //定义扩展的后缀名
 public Myfilter(String extension) {
  super();
  this.extension = extension;
 }
 public String getExtension() {
  return extension;
 }
 public void setExtension(String extension) {
  this.extension = extension;
 }
 //实现FileFilter的accept方法
 @Override
 public boolean accept(File file) {
  if(file.isDirectory())
   return false;
  //提取文件名
  String name=file.getName();
  //提取后缀
  int index=name.lastIndexOf(".");
  if(index==-1||index==name.length()-1) {
   return false;
  }else{
   return name.substring(index).equals(extension);
  }
 }

}

 

 

测试类:

 

package chapter10.branch08;
import java.io.File;
public class Test {
 public static void main(String[] args) {
  Test t=new Test();
  //在测试的时候,扩展名药带上".",因为MyFileter里
  //面的获取的那部分是包括了"."的
  t.dir("E:\\file", ".txt");
 }
 
 public void dir(String path,String extension) {
  //构造文件夹
  File directory=new File(path);
  //实例化filter类
  Myfilter mf=new Myfilter(extension);
  //获取文件
  File[] fs=directory.listFiles(mf);
  System.out.println("路径:\t"+path);
  System.out.println("文件:");
  for(File file:fs) {
   System.out.println("\t"+file.getName());
  }
 }
}

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值