FilenameFilter介绍

Posted yarsnwoing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FilenameFilter介绍相关的知识,希望对你有一定的参考价值。

转载:

一、FilenameFilter介绍

Java.io.FilenameFilter是文件名过滤器,用来过滤不符合规格的文件名,并返回合格的文件;
一般地:
(1)String[] fs = f.list();
(2)File[] fs = f.listFiles();
这两个方法返回f下的所有文件或目录;
FilenameFilter用来把符合要求的文件或目录返回;
因此可以调用:
(1)String []fs = f.list(FilenameFilter filter);;
(2)File[]fs = f.listFiles(FilenameFilter filter);

二、文件名过滤器一般用法

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的文件则合格

三、实例

要求:返回当前目录下所有以.java结尾的文件;
[java] view plain copy

1. package org.exam5a;  
2.   
3. import java.io.File;  
4. import java.io.FilenameFilter;  
5.   
6. public class T4   
7.   
8.     public static void main(String[] args)throws Exception   
9.         File f = new File(".");  
10.         MyFilter filter = new MyFilter(".java");  
11.         String[] files = f.list(filter);  
12.         for(String a:files)  
13.             System.out.println(a);  
14.           
15.       
16.     static class MyFilter implements FilenameFilter  
17.         private String type;  
18.         public MyFilter(String type)  
19.             this.type = type;  
20.           
21.         public boolean accept(File dir,String name)  
22.             return name.endsWith(type);  
23.           
24.       
25.   

以上是关于FilenameFilter介绍的主要内容,如果未能解决你的问题,请参考以下文章

45文件过滤器FilenameFilter

文件名过滤器FilenameFilter的用法

Java核心类库-IO-文件过滤器(FilenameFilter)

File遍历以及FilenameFilter的使用

java [Java] FilenameFilterを使ったフィルタクラス。

使用正则表达式过滤目录中文件名称,File和FilenameFilter的应用