您的位置:首页 > 其它

文件名过滤器FilenameFilter的用法

2017-07-16 17:46 459 查看
Java.io.FilenameFilter是文件名过滤器,用来过滤不符合规格的文件名,并返回合格的文件;

实例1,匹配指定字符结尾的文件

package cn.test;

import java.io.File;
import java.io.FilenameFilter;
import org.junit.Test;

public class Demo4  {
@Test
public void test1(){
File file = new File("D:/Temp");
FilterBysuffix filter = new FilterBysuffix(".txt");
String[] files = file.list(filter);
for (String fileName : files){
System.out.println(fileName);
}
}
}

class FilterBysuffix implements FilenameFilter{
private String suffix;
public FilterBysuffix(String suffix){
this.suffix=suffix;
}
@Override
public boolean accept(File dir, String name) {
return name.endsWith(suffix);
}
}


  结果:



实例2,正则匹配文件

public class Test1 {

@Test
public void demo1() throws IOException{
File file = new File("D:/tmp");
FilterByMatches filterByMatches = new FilterByMatches(".*txt$");
String[] files = file.list(filterByMatches);
for(String f : files){
System.out.println(f);
}
}
}

class FilterByMatches implements FilenameFilter{
private String suffix;
public FilterByMatches(String suffix){
this.suffix=suffix;
}
public boolean accept(File dir, String name) {
return name.matches(suffix);
}
}


  结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: