首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Java建设者

    FilenameFilter 实现文件过滤

    这是 cxuan 的第 32 篇原创文章 实现 FilenameFilter 接口的类的实例用于过滤文件名。这些实例被用来过滤类 File 的 list 方法中的目录列表。 FilenameFilter 接口很简单,只有一个 accpet 方法 @FunctionalInterface public interface FilenameFilter { boolean 所以FilenameFilter 也只有一个 accpet 方法,它用来测试指定的文件是否应包含在文件列表中。 下面通过一个例子来演示一下 FilenameFilter 的用法 public class FilenameFilterApp { public static void main(String file = new File("."); // 匿名内部类写法,可以用 lambda 表达式改写 File[] files = file.listFiles(new FilenameFilter

    1.1K30发布于 2019-09-17
  • 来自专栏技术一点点成长

    FilenameFilter过滤文件名

    -- finish ---- ---- 版本一:接口继承 package com.yeezhao.common.io.v1; import java.io.File; import java.io.FilenameFilter ; import java.util.regex.Pattern; public class MyFilenameFilter implements FilenameFilter { final "); } } 版本二:内部类初始化内部对象属性 package com.yeezhao.common.io.v2; import java.io.File; import java.io.FilenameFilter filter = new FilenameFilter() { @Override public boolean accept(File dir, String name --"); } } 版本三:内部类直接调用方法 package com.yeezhao.common.io.v3; import java.io.File; import java.io.FilenameFilter

    89930编辑于 2022-08-09
  • 来自专栏johnhuster

    使用FilenameFilter来找出目录下指定后缀的文件

    在项目中需要查找指定目录下特定后缀的文件,在jdk官网上查看资料时找到了FilenameFilter这个类,怎么用也写了,但是就是没给个例子,对有些人实在有些不方便,这也是写这篇文章的初衷,虽然简单但希望能帮到需要的小伙伴们 下面直接入正题,给出demo程序: package net.csdn.johnhuster; import java.io.File; import java.io.FilenameFilter; public class FileNameFilterDemo { //内部类 public class FileFilter implements FilenameFilter { fileNameFilter = fileFilter .new FileFilter(".txt") ; // returns pathnames for files and directory paths = f.listFiles(fileNameFilter); // for each pathname in pathname array

    71230编辑于 2022-03-28
  • 来自专栏云时代Java开发:原理、实战与优化

    Java源码详解:深入Java IO之FilenameFilter解析—从策略模式到函数式编程来深度剖析文件过滤器的设计哲学、历史演进、核心应用场景与最佳实践

    第一章:FilenameFilter的本质与历史定位——策略模式的先驱要真正理解FilenameFilter的价值,我们必须将其置于Java早期面向对象设计思想和文件系统操作需求的背景中考量。 那么,FilenameFilter在NIO.2时代是否已经过时? 6.3.1使用FilenameFilter的场景简单过滤任务:当只需要基于文件名进行简单过滤时,FilenameFilter更加直接。 与AWT组件交互:FileDialog只接受FilenameFilter。教学和入门:FilenameFilter的概念更简单,适合初学者。 第八章:FilenameFilter在现代Java生态中的演进随着Java语言的不断发展,FilenameFilter虽然保持了其核心接口不变,但其使用方式和在生态系统中的定位也在不断演进。

    12420编辑于 2026-05-07
  • 来自专栏第三方工具

    图片传输和图片防遍历技术方案

    \"<>|]"); public static String filenameFilter(String str){ return str==null? replaceAll(""); } public static void main(String[] args) { System.out.println("str1=" + filenameFilter ("aaa.txt")); System.out.println("str2=" + filenameFilter("bb\\a? *.txt")); System.out.println("str3=" + filenameFilter("cc/:a.txt")); System.out.println ("str4=" + filenameFilter("dd\"a.txt")); System.out.println("str5=" + filenameFilter("[ee<>|a

    34210编辑于 2024-10-09
  • 来自专栏编程学习之路

    【Java】之File类

    博客 目录 目录的遍历 public String[] list() 功能 举例 public File[] listFiles() 功能 举例 筛选器 FileFilter() 功能 举例 FilenameFilter () 功能 举例 常见实验题 在指定目录筛选出需要的文件 举例 思路 一、用if语句判断筛选 二、用FileFilter()筛选器 三、用FilenameFilter()筛选器 ---- 目录的遍历 举例 二、用FileFilter()筛选器 FilenameFilter() 功能 文件名筛选器,用于对列表中文件的过滤,只有一个 accpet 方法,参数列表为(File dir, String name ),它用来测试指定的文件是否应包含在文件列表中 举例 三、用FilenameFilter()筛选器 常见实验题 在指定目录筛选出需要的文件 举例 过滤出D盘目录下(不包含子目录)所有后缀名为.jpg的文件并将其绝对路径输出到控制台 ()筛选器 代码 package FileDemo; import java.io.File; import java.io.FileFilter; import java.io.FilenameFilter

    48650编辑于 2022-11-20
  • 来自专栏spring源码深度学习

    java基础io流——File的告白(重温经典)

    package io1; import java.io.File; import java.io.FileFilter; import java.io.FilenameFilter; /** * Create * * 要想实现这个效果,就必须学习一个接口:文件名称过滤器 * public String[] list(FilenameFilter filter) * public File[] listFiles (FilenameFilter filter) */ public class demo8 { public static void main(String args[]){ File file = new File("e:/"); // File[] files = file.listFiles(new FilenameFilter() { // 、FileFilter list只有FilenameFilter 重写过滤器accept FilenameFilter accept(File dir, String name) dir是父路径,name

    70430发布于 2018-09-13
  • 来自专栏全栈开发工程师

    Java中FileFliter过滤器

    测试指定抽象路径名是否应该包含在某个路径名列表中; 抽象方法的参数说明: File pathname就是使用listFiles方法遍历目录得到的每一个文件对象; 2、File[] listFiles(FilenameFilter filter) java.io 接口 FilenameFilter: 实现此接口的类实例可用于过滤器文件名; 作用: 用于过滤文件名称; 抽象方法: boolean accept(File dir, { System.out.println("File文件名称为"+file.getName()); } } } } 四、FilenameFilter 的使用 1、备注: 在此使用匿名内部类的方式演示FilenameFilter,而实际上FileFilter也可以使用此方式; 2、代码演示 修改后的Test类: package study.filefliter ; import java.io.File; import java.io.FilenameFilter; public class TestFilenameFilter { public

    53110编辑于 2025-01-06
  • 来自专栏全栈之路

    android自定义控件之文件选择

    setData(); return mFileDataList; } public FileData getFileData(File file, FilenameFilter SuppressLint("SimpleDateFormat") private void setData() { this.mFileDataList.clear(); FilenameFilter filenameFilter = (dir, name) -> ! new File(curPath).listFiles(filenameFilter) : new File(curPath).listFiles(); if (files ! file.list(filenameFilter) : file.list(); if (names !

    1.2K20发布于 2020-01-21
  • 来自专栏ml

    file类之目录

    -public boolean mkdir() (2).列出目录中的文件 { //有以下两个方法实现: public String [] list(FilenameFilter } */ 1 //package DEMO ; 2 3 import java.io.File; 4 import java.io.FilenameFilter; 5 import java.net.FileNameMap :FileName) 25 { 26 out(name); 27 } 28 } 29 } 30 class FileAccepte implements FilenameFilter

    73450发布于 2018-03-22
  • 来自专栏Java技术分享圈

    杨校老师课堂之基于File类的文件管理器

    ; System.exit(0); } } ---- 工具类: import java.io.File; import java.io.FilenameFilter; import public static ArrayList<String> listFiles(File file, final String key){ // 创建过滤器对象 FilenameFilter filter = new FilenameFilter() { // 实现accept()方法 public boolean accept(File filter = new FilenameFilter() { // 创建过滤器对象 // 实现accept()方法 public boolean accept filter 过滤器 * @return 过滤器过滤后的文件路径 */ public static ArrayList<String> fileDir(File dir, FilenameFilter

    55030编辑于 2023-03-10
  • 来自专栏老马说编程

    (59) 文件和目录操作 / 计算机程序的思维逻辑

    遍历 有如下方法访问一个目录下的子目录和文件: public String[] list() public String[] list(FilenameFilter filter) public File [] listFiles() public File[] listFiles(FileFilter filter) public File[] listFiles(FilenameFilter filter pathname); } FilenameFilter的定义为: public interface FilenameFilter { boolean accept(File dir, String name); } 在遍历子目录和文件时,针对每个文件,会调用FilenameFilter或FileFilter的accept方法,只有accept方法返回true时,才将该子目录或文件包含到返回结果中 FilenameFilter和FileFilter的区别在于,FileFilter的accept方法参数只有一个File对象,而FilenameFilter的accept方法参数有两个,dir表示父目录

    1.1K100发布于 2018-01-31
  • 来自专栏shimeath的Java学习

    常用方法(文件夹操作)

    类型的子目录、子文件夹 static listRoots() 返回根目录(盘符) 命令设计模式: 例:创建接口并实现,筛选扩展名为psd的文件 subFile = src.listFiles(new FilenameFilter f.getAbsolutePath()); } System.out.println("====子目录|.txt对象===="); //命令设计模式 subFile = src.listFiles(new FilenameFilter System.out.println(src.getAbsolutePath()); if (src.isDirectory()) { for (File l : src.listFiles(/*new FilenameFilter

    53330发布于 2020-07-30
  • 来自专栏青柠小鱼

    知识点——初识java中File类

    文件名过滤器 interface FilenameFilter boolean accept(File dir, String name); 源码展示 @FunctionalInterface public interface FilenameFilter { /** * Tests if a specified file should be included in a file list otherwise. */ boolean accept(File dir, String name); } 代码实现: import java.io.File; import java.io.FilenameFilter ; /* * FilenameFilter过滤器演示 */ public class Demo8 { public static void main(String[] args) { File file = new File("C:\\aaa\\ddd"); // 使用匿名内部类的匿名对象直接作为方法的参数 File[] listFiles = file.listFiles(new FilenameFilter

    65110发布于 2020-03-18
  • 来自专栏JuneBao

    JavaIO系统(一)

    list()不传递任何参数时返回该目录下所有文件或文件名的字符数组(不会递归遍历目录里面的内容【只返回第一层】)如果想要过滤返回结果,可以传递给它一个FilenameFilter对象,该接口只有一个方法 @FunctionalInterface public interface FilenameFilter { boolean accept(File dir, String name); } public String[] list(FilenameFilter filter) { // 策略模式,根据filter是否为null,具有不同的策略 String names[] = list ; import java.util.regex.Pattern; class DirFilter implements FilenameFilter { private Pattern pattern filter]) 返回该目录下所有文件和目录的数组 可以传入一个FilenameFilter filter,表示列出满足过滤器的文件或目录名 public File[] listFiles([FilenameFilter

    51030编辑于 2022-10-26
  • 来自专栏工程师的分享

    编写一个程序,将 d: \ java 目录下的所有.java 文件复制到d: \ jad 目录下,并 将原来文件的扩展名从.java 改为.jad

    java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FilenameFilter = new File("d:\\java"); File desDir = new File("d:\\jad"); File files[] = srcDir.listFiles(new FilenameFilter

    1.7K20编辑于 2022-08-02
  • 来自专栏程序那些事

    小师妹学JavaIO之:File copy和File filter

    这两个Filter是java.io.FilenameFilter和java.io.FileFilter: @FunctionalInterface public interface FilenameFilter 两者的区别在于,FilenameFilter进行过滤的是文件名和文件所在的目录。而FileFilter进行过滤的直接就是目标文件。 在java中是没有目录的概念的,一个目录也是用File的表示的。 上面的两个使用起来非常类似,我们就以FilenameFilter为例,看下怎么删除.log文件: public void useFileNameFilter() { String

    53340发布于 2020-07-08
  • 来自专栏Android&Java技术

    Android删除指定路径下指定前缀或后缀的文件

    先枚举出路径目录下的所有文件,枚举的同时实现一个FilenameFilter接口的类,可以自定义规则,比说前缀、后缀或者其他规则,枚举的同时将我们的过滤器作为参数,这样我们就可以匹配到指定条件的文件,然后删除即可 android.support.annotation.NonNull; import android.text.TextUtils; import android.util.Log; import java.io.File; import java.io.FilenameFilter xpf on 2017/12/25 :) * Function:以xxx开头或后缀的文件名的过滤器 */ class DeleteFileFilter implements FilenameFilter

    3K10发布于 2020-02-27
  • 来自专栏钟绍威的专栏

    SequenceInputStreamSequenceInputStream构造方法读关流刷新

    jdk1.8.0_60\\src\\java\\lang"); //取出java文件的字符串数组 String[] javasname=directory.list(new FilenameFilter (){ //匿名内部类实现FilenameFilter接口 private boolean isJava(String filename){

    80380发布于 2018-02-05
  • 来自专栏专注 Java 基础分享

    表示一个文件的 File 类型

    接着,我们再看一个检索目录文件的方法: public String[] list(FilenameFilter filter) { String names[] = list(); if 而这个 FilenameFilter 接口的定义却是如此简单: public interface FilenameFilter { boolean accept(File dir, String File file = new File("C:\\Users\\yanga\\Desktop\\test"); String[] list = file.list( new FilenameFilter } ); for (String str : list){ System.out.println(str); } 这里呢,我们使用匿名内部类创建一个 FilenameFilter 最后输出结果如下: 3.txt 4.txt 当然,File 类中还提供了两个「变种」list 方法,例如: public File[] listFiles() public File[] listFiles(FilenameFilter

    1K00发布于 2018-07-31
领券