FilenameFilter
Introduction:
java.io.FileNameFilter is a interface which is for filtering by filename, if filename can meet the standard we set,return list of files.
usages:
creating a class and implementing the interface of FileNameFilter,what you gonna do is override the public function of accept.
Details of accept function:
boolean accept(File dir, String name);
Accept is a callback function,and first invoke is in the following functions.
(1)String []fs = f.list(FilenameFilter filter);
(2)File[]fs = f.listFiles(FilenameFilter filter);
public String[] list(FilenameFilter filter) {
String names[] = list();
if ((names == null) || (filter == null)) {
return names;
}
List<String> v = new ArrayList<>();
for (int i = 0 ; i < names.length ; i++) {
if (filter.accept(this, names[i])) {
v.add(names[i]);
}
}
return v.toArray(new String[v.size()]);
}
public File[] listFiles(FilenameFilter filter) {
String ss[] = list();
if (ss == null) return null;
ArrayList<File> files = new ArrayList<>();
for (String s : ss)
if ((filter == null) || filter.accept(this, s))
files.add(new File(s, this));
return files.toArray(new File[files.size()]);
}
Example:
public class Demo2 {
public static void main(String[] args) {
File f = new File("C:/Users/caich5/Desktop/Chris/note");
MyFilter filter = new MyFilter(".txt"); String[] files = f.list(filter);
for(String a:files){
System.out.println(a);
}
}
static class MyFilter implements FilenameFilter{
private String type;
public MyFilter(String type){
this.type = type;
}
public boolean accept(File f,String name){
return name.endsWith(type);
}
}
}
FilenameFilter的更多相关文章
- FilenameFilter过滤文件名
前言: 文件IO是程序设计语言的一个特点,本文将针对Java的File文件名过滤进行测试. 测试目录截图: 测试结果: data.txt output-.txt output-.txt output- ...
- 【转】File类应用 - FilenameFilter 和 FileFilter
FilenameFilter & FileFilter FilenameFilter 和 FileFilter 都是用来过滤文件,例如过滤,以.jpg或者.java结尾的文件,通过看他们的源码 ...
- java获取指定路径下的指定文件/java.io.File.listFiles(FilenameFilter filter)
java.io.File.listFiles(FilenameFilter filter) 返回抽象路径名数组,表示在目录中此抽象路径名表示,满足指定过滤器的文件和目录. 声明 以下是java.io. ...
- 图解 Java IO : 二、FilenameFilter源码
Writer :BYSocket(泥沙砖瓦浆木匠) 微 博:BYSocket 豆 瓣:BYSocket FaceBook:BYSocket Twitter ...
- FilenameFilter用法
使用FilenameFilter实现图片过滤,只要.gif,.jpg,.png文件. java 代码 public class ImageFilter implements FilenameFilte ...
- java基础知识回顾之javaIO类--File类应用:过滤器接口FilenameFilter和FileFilter
FilenameFilter和FileFilter都是用来过滤文件,例如过滤,以.jpg或者.java结尾的文件,通过看他们的源码:通过使用File类中String[] list(FilenameFi ...
- FileFilter, FilenameFilter用法和文件排序
FileFilter和FilenameFilter这两个类的用法都很简单,都只有一个方法 FileFilter /*** @param pathname The abstract pathname t ...
- Java基础知识强化之IO流笔记10:File类输出指定目录下指定后缀名的文件名称案例(File类的文件过滤器方法改进list( FilenameFilter ff))
1. 案例: 判断F盘下是否有后缀名为.jpg的文件,如果有的话,就输出这个文件名. 2. 案例代码如下: (1)思路是:先获取所有的文件和文件夹封装的对象,然后遍历的时候,依次判断,如果满足条件就输 ...
- FileFilter与FilenameFilter实例
下面的例子中我们创建了一个FileFilter类,此类根据文件名的扩展名是否为.txt来筛选文件.创建FileFilter实例之后需要将此实例作为参数传给File的listFiles(fileFilt ...
- Java之FilenameFilter接口
FilenameFilter接口:是用于过滤文件的 要实现的是accept方法 实例代码: 1,匿名类实现FilenameFilter-–过滤指定类型文件 package File类过滤器; impo ...
随机推荐
- 使用Maven根据WSDL生成生成Java代码
转载:https://blog.csdn.net/pzasdq/article/details/52601473 为便于自己学习,整理 修改pom.xml <project xmlns=&quo ...
- SSH端口转发详解及实例-转载
作者:珂儿吖 出处:http://www.cnblogs.com/keerya/ 目录 1.1 SSH端口转发的两大功能 实验一:实现SSH端口转发——本地转发 实验二.实现SSH端口转发——远程转发 ...
- ES6面试题总结
1.说出至少5个ES6的新特性,并简述它们的作用.(简答题) 1.let关键字,用于声明只在块级作用域起作用的变量: 2.const关键字,用于声明一个常量: 3.结构赋值,一种新的变量赋值方式.常用 ...
- oracle中not in 和 in 的替代写法
-- not in 的替代写法select col from table1 where col not in(select col from table2); select col,table2.co ...
- SpringBoot-YML的用法
SpringBoot yml 使用 SpringBoot 默认读取 application.yml|properties YML 比properties配置文件更加节约 简约(结构) 创建applic ...
- 报错解决——Failed to load resource: the server responded with a status of 404 (Not Found) favicon.ico文件找不到
Django项目开发完成后在本地运行没问题,但在推到服务器上后出现报错Failed to load resource: the server responded with a status of 40 ...
- 帝国cms建站总结-(分页)
帝国cms分页代码文件t_functions.php 代码为: <?php if(!defined('InEmpireCMS')) { exit(); } define('InEmpireCMS ...
- vue-preview的使用
使用vue-preview做图片缩率图1.安装 npm i vue-preview -S2.如果使用vue-cli生成的项目,需要修改webpack.base.conf.js文件中的loaders,添 ...
- pycharm的安装和使用
python开发IDE: pycharm.eclipse 1.要专业版 2.不要汉化版 一.运算符 + - * ./ ** % // 判断某个东西是否在东西里面包含 in not ...
- sap 下载程序
1: 左下角,直接输入 software centre. 搜索相应程序下载.