前言:

java.io.FileFilter(过滤器接口)
boolean accept(File pathname)

File类提供了如下方法使用过滤器:
public File[] listFiles(FileFilter filter)

代码如下:

//过滤器类
class filter1 implements FileFilter{ @Override
public boolean accept(File pathname) {
// TODO Auto-generated method stub
if(pathname.isFile()&&pathname.exists()){
String name = pathname.getName();
if(name.endsWith(".box")){
return true;
}
}
return false;
} } // listFiles带参数的方法的大概原理 //public File[] listFiles(FileFilter filter){
//// 获取指定目录下所有文件或文件夹
// File[] all = listFiles();
// File temp;
// for(int i = 0;i<all.length;i++){
// if(filter.accept[all[i]]){
// temp[j] = all[i];
// }
// }
// return temp;
//} public class FilterUse {
public static void main(String[] args) {
// 文件过滤器的用法
File f = new File("D:\\dev-machine");
// 获取指定目录下的所有文件或者文件夹
File[] ffs = f.listFiles(new filter1()); // 筛选出后缀名为.box的文件
for (File file : ffs) {
System.out.println(file.getName());
}
}
}

其内部原理结构图大概如下:

java文件过滤器的使用的更多相关文章

  1. java 文件过滤器

    创建文件过滤器 MyFilter ,实现 FileFilter 接口,实现 accept() 方法: package com.test.IODemo1; import java.io.File; im ...

  2. java 文件过滤器 java.io.FilenameFilter

    File 类里有方法: String[] list(FilenameFilter filter)    返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中满足指定过滤器的文件和目录. File ...

  3. java文件过滤器

    java中有一个FilenameFilter的接口,能够过滤得到指定类型的文件或者目录,其中必须重写accept(File file,String path)方法 public class DirFi ...

  4. Java——文件过滤器

    body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...

  5. learning java 文件过滤器

    import java.io.File; public class FilenameFilterTest { public static void main(String[] args) { var ...

  6. java学习笔记(2):获取文件名和自定义文件过滤器

    //自定义文件过滤器import java.io.File; import javax.swing.filechooser.*; public class JavaChooser extends Fi ...

  7. java基础 File与递归练习 使用文件过滤器筛选将指定文件夹下的小于200K的小文件获取并打印按层次打印(包括所有子文件夹的文件) 多层文件夹情况统计文件和文件夹的数量 统计已知类型的数量 未知类型的数量

    package com.swift.kuozhan; import java.io.File; import java.io.FileFilter; /*使用文件过滤器筛选将指定文件夹下的小于200K ...

  8. java文件操作和文件过滤器

    文件操作 java提供了File类来供我们操作文件,FIle是文件或文件夹的抽象表示,也就是对象表示.总结了几个常用的方法 File(File parenrt,String child).FIle(S ...

  9. Java 之 文件过滤器

    在学习过滤器之前,先来做一个案例. 题目:文件搜索,搜索 D:\java 目录中 .java 文件. 分析: 1.  目录搜索,无法判断多少级目录,使用递归,遍历所有目录 2.  遍历目录时,获取的子 ...

随机推荐

  1. ORM表相关操作

    一般操作 看专业的官网文档,做专业的程序员! 必知必会13条 > all(): 查询所有结果 > filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 > get( ...

  2. P1962 斐波那契数列-题解(矩阵乘法扩展)

    https://www.luogu.org/problemnew/show/P1962(题目传送) n的范围很大,显然用普通O(N)的递推求F(n)铁定超时了.这里介绍一种用矩阵快速幂实现的解法: 首 ...

  3. HAOI2019+十二省联考 游记

    Day1 T1 考前还奶了一口不会考01Trie的,也就没有学,然后60分BOOM T2 不会SAM,告辞,30分滚粗 T3 传统实现题答?2p,2u,2g分别对应素数,莫比乌斯函数,原根?没看出来, ...

  4. java 数字左补齐0

    NumberFormat nf = NumberFormat.getInstance();        //设置是否使用分组        nf.setGroupingUsed(false);    ...

  5. JS学习笔记Day22

    一.Ajax的概念 (一)Ajax是一种在无需重新加载整个网页(刷新网页)的情况下能够更新部分网页的技术 (二)Ajax的全称是Asynchronous JavaScript and XML,即异步J ...

  6. mac-redis安装与使用

    安装: brew install redis --------------- 使用: 启动redis-server: sudo redis-server 连接:./redis-cli -h 127.0 ...

  7. Python:Mac 下 MQTT 服务器 Mosquitto 的配置

    我在Mac电脑上搭建时遇到了一些不同于网上大部分情况的问题,特此分享给可能也有遇到相同情况又找不到解决方法的人. 我的电脑系统:macOS Mojave 10.14.3. paho-mqtt 的安装 ...

  8. oldboy s21day15模块装饰器及其他应用

    #!/usr/bin/env python# -*- coding:utf-8 -*- # 1.sys.path.append("/root/mods")的作用?"&qu ...

  9. Thunar 通过快捷键在当前文件夹打开终端

    参考『Keyboard shortcut for open terminal here in thunar』\(^{[1]}\) 在 ganiserb/thunar-terminal 下载脚本. 将脚 ...

  10. [转]在static代码块或static变量的初始化过程中使用ServiceManager提供的api的陷阱

    一. 案例 1.源码: /** @hide */ private TelephonyManager(int slotId) { mContext = null; mSlotId = slotId; i ...