34 java 文件过滤 FileFilter
package com.da.tool.util; import org.apache.commons.io.filefilter.RegexFileFilter; import java.io.File;
import java.io.FileFilter;
import java.io.FilenameFilter; /**
* java 的 FileFilter和FilenameFilter测试使用
*/
public class FileFilterExample { /**
* 通过文件后缀过滤文件(仅查询后缀)
* 功能可扩展点
* 1、可针对文件、目录进行按照类型进行查找,实现特有的逻辑
* 2、可根据此功能抽象一个借口,采用不同实现,进行不同场景的文件过滤
* 3、对于复杂场景的文件过滤
* 4、nameSuffix可定义为多个
*/
static class FileFilterByNameSuffix implements FileFilter{ private String nameSuffix; public FileFilterByNameSuffix(String nameSuffix) {
this.nameSuffix = nameSuffix;
} @Override
public boolean accept(File file) { Boolean accept = false; if(file.getName().endsWith(nameSuffix)){
accept = true;
}
return accept;
}
} /**
* 通过文件后缀过滤文件
*/
static class FileNameFilterByNameSuffix implements FilenameFilter{
private String nameSuffix; public FileNameFilterByNameSuffix(String nameSuffix) {
this.nameSuffix = nameSuffix;
} @Override
public boolean accept(File dir, String name) {
return name.endsWith(nameSuffix);
}
} public static void main(String[] args) { String path ="D:\\project\\da-tool\\src\\main\\java\\com\\da\\tool\\util"; File file = new File(path);
//1、实现FileFilter
File [] files =file.listFiles(new FileFilterByNameSuffix(".java"));
for (File file1 : files) {
System.out.println(file1.getPath());
}
//2、实现FilenameFilter
files =file.listFiles(new FileNameFilterByNameSuffix(".java"));
for (File file1 : files) {
System.out.println(file1.getPath());
}
//3、java提供正则过滤
files =file.listFiles((FileFilter) new RegexFileFilter(".*.java"));
for (File file1 : files) {
System.out.println(file1.getPath());
}
//其他:PatternFilenameFilter JarFilter }
}
34 java 文件过滤 FileFilter的更多相关文章
- java 文件过滤
public class TestFileio { public static void main(String[] args) { File file = new File("D:/upl ...
- java中过滤查询文件
需求,过滤出C盘demo目录下 所有以.java的文件不区分大小写 通过实现FileFilter接口 定义过滤规则,然后将这个实现类对象传给ListFiles方法作为参数即可. 使用递归方法实现 pa ...
- JAVA之旅(二十八)——File概述,创建,删除,判断文件存在,创建文件夹,判断是否为文件/文件夹,获取信息,文件列表,文件过滤
JAVA之旅(二十八)--File概述,创建,删除,判断文件存在,创建文件夹,判断是否为文件/文件夹,获取信息,文件列表,文件过滤 我们可以继续了,今天说下File 一.File概述 文件的操作是非常 ...
- Java基础面试操作题: File IO 文件过滤器FileFilter 练习 把一个文件夹下的.java文件复制到另一个文件夹下的.txt文件
package com.swift; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File ...
- Java文件操作源码大全
Java文件操作源码大全 1.创建文件夹 52.创建文件 53.删除文件 54.删除文件夹 65.删除一个文件下夹所有的文件夹 76.清空文件夹 87.读取文件 88.写入文件 99.写入随机文件 9 ...
- java文件基本操作
public static void main(String [] args) { try { /* * File类 */ /*String directory = "D:/Workspac ...
- Java 文件操作-File
1.File文件操作 java.io.File用于表示文件(目录),也就是说程序员可以通过File类在程序中操作硬盘上的文件和目录.File类只用于表示文件(目录)的信息(名称.大小等),不能对文件的 ...
- Java文件实时监控Commons-io
今天看到一网友写的 Java 文件监控,实时监控文件加载 ,突然想到Commons-io中已有此功能的实现,先温习下 写个简单的Demo: 有三种方式: 1.java common.io 内部实 ...
- java文件过滤器
java中有一个FilenameFilter的接口,能够过滤得到指定类型的文件或者目录,其中必须重写accept(File file,String path)方法 public class DirFi ...
随机推荐
- 关于websockets的压测工具
这是在workerman群中得到的信息,记录在此: loadrunner jemeter
- selenium配合phantomjs实现爬虫功能,并把抓取的数据写入excel
# -*- coding: UTF-8 -*- ''' Created on 2016年5月13日 @author: csxie ''' import datetime from Base impor ...
- [Qt 踩坑] 设置背景就卡退 报错 异常结束或者crashed 0xFFFFFFFF
#开始 我现在是带着崩溃得心情写博客的 这个估计是我遇到的最混蛋的bug 我试图用Qt写个小程序 然后给窗口添加一个背景 就像这样 先不管我那个路径的问题 只要写了那个代码,就一定出错 删除了一点事情 ...
- 吴裕雄 python 机器学习——模型选择分类问题性能度量
import numpy as np import matplotlib.pyplot as plt from sklearn.svm import SVC from sklearn.datasets ...
- 搭建robotframework环境
1.安装rf 执行命令:pip install robotframework; 2.安装seleniumlibrary库 执行命令:pip install --upgrade robotframewo ...
- TOPSIS算法
title: TOPSIS算法 date: 2020-02-24 11:18:06 categories: 数学建模 tags: [评价模型, MATLAB] mathjax: true 定义 C ...
- 前端框架vue学习笔记:环境搭建
兼容性 不兼容IE8以下 Vue Devtools 能够更好的对界面进行审查和调试 环境搭建 1.nodejs(新版本的集成了npm)[npm是node包管理 node package manager ...
- P1067
这题没什么好说的,就是判断,需要考虑仔细一点. AC代码: #include <bits/stdc++.h> using namespace std; const int N = 712; ...
- Fluent_Python_Part3函数即对象,05-1class-func,一等函数,函数即对象
一等函数 一等函数即将函数看作一等对象.一等对象满足一下条件: 在运行时创建 能赋值给变量或数据结构中的元素 能作为参数传给函数 能作为函数的返回结果 1. 一等函数 例子1. 证明function是 ...
- Linux中命令备份mysql形成文件
基于龙哥(Thomas)的总结: mysqldump -u 用户名 -p密码 数据库名>bbs87.sql | tar -zcvf bbs87.tar.gz bbs87.sql 通过词条命令可以 ...