文件过滤器
来源:互联网 发布:mac系统的办公软件 编辑:程序博客网 时间:2024/06/03 14:46
在进行问件扫描时,想获取特定问件,使用文件过滤器
过滤文件名的过滤器:
步骤:
实现FilenameFilter接口
重写accept()方法
需求:在指定的目录中筛选出拓展名为“.java”的文件
代码演示
写一个过滤器类
public class Guolv implements FilenameFilter { @Override public boolean accept(File dir, String name) { // TODO Auto-generated method stub return dir.getName().endsWith(".java"); }}
深度遍历文件夹,找到符合条件的文件存到list集合中
public static void getFiles(File dir,FilenameFilter ff,List<File> list){ File[] files=dir.listFiles(); for(File file:files){ if(file.isDirectory()){ //当前为文件夹。继续向下遍历 getFiles(file,ff,list); }else{ //对当前文件进行筛选 if(ff.accept(file, file.getName())){ list.add(file); } } } }
将集合中的文件的文件名存入到指定的文本中
public static void writeFileToFile(List<File> list,File descfile) throws IOException{ BufferedWriter bufw = new BufferedWriter(new FileWriter(descfile)); //遍历集合将集合中的数据写到文件中 for(File file:list){ bufw.write(file.getAbsolutePath()); bufw.newLine(); bufw.flush(); } if(bufw!=null){ bufw.close(); } }
主函数
public static void main(String[] args) throws IOException{ File file = new File("G:\\java_project"); Guolv ff = new Guolv(); List<File> list=new ArrayList<File>(); File file2 = new File("answer.txt"); getFiles(file,ff,list); writeFileToFile(list,file2); }
缺点:这个文件过滤器功能比较单一,只能实现过滤”.java”的文件,要想实现可以过滤其他文件拓展名只需要重写构造函数即可。
public class Guolv implements FilenameFilter { private String suffix; public Guolv(String suffix){ super(); this.suffix=suffix; } @Override public boolean accept(File dir, String name) { // TODO Auto-generated method stub return dir.getName().endsWith("suffix"); }}
2.过滤隐藏文件:
实现FileFilter接口
public class Guolv implements FileFilter { @Override public boolean accept(File pathname) { // TODO Auto-generated method stub return !pathname.isHidden(); }}
阅读全文
0 0
- 文件过滤器
- 文件过滤器
- 文件过滤器
- 文件过滤器
- 文件过滤器
- 文件过滤器
- 文件过滤器
- 文件过滤器
- 文件过滤器
- 文件过滤器
- 文件过滤器
- 文件过滤器
- 文件过滤器
- 文件过滤器
- 文件过滤器写法
- vc 打开文件 过滤器
- 文件过滤器的使用
- java--FilenameFilter文件过滤器
- springmvc中,结果的转发可以共享request域对象,会将参数从第一个业务控制方法传入第二个业务控制方法,重定向则不行
- 近期知识总结(计算台风面雨量及统计影响宁波的台风)
- Redis的单机和集群搭建
- PaaS 关键技术点和难点,如何选择和实现?
- 【读书笔记】【the well-grounded java developer】【1】
- 文件过滤器
- linux统计行 命令
- SpringMVC异常统一处理
- DB2中通用的存储过程分页程序
- Python学习笔记
- jquery提交整个form表单
- 算法学习——位运算
- 浅析机器学习中各种损失函数及其含义
- 1次演讲13次提到技术,马云在阿里巴巴年会上都说了什么?