Java中使用过滤器时用匿名内部类判断目录中是否有.jpg文件

判断E盘目录下是否有后缀名为.jpg的文件,如果有,就输出此文件名称 package org.westos.f;import java.io.File;import java.io.FilenameFilter;/** * 1 )判断E盘目录下是否有后缀名为.jpg的文件,如果有,就输出此文件名称 使用方式:A:封装e盘,获取所有的文件以及文件夹的File数组(文件以及文件及的名称数组) 遍历的时候进行一系列判断进行条件过滤,麻烦   B:当前获取到的时候... 阅读详情

可以用实现类完成过滤器过滤规则的编写

也可以直接使用匿名内部类

 

Java中使用过滤器时用匿名内部类判断目录中是否有.jpg文件

方法一:

package com.baidu.demoFilter;

import java.io.File;
import java.io.FileFilter;

public class DemoFilter02 {
    public static void main(String[] args) {
        File file = new File("F:\\develop");
        getAllFile(file);
    }

    public static void getAllFile(File dir){
//        System.out.println(dir);
        //传递过滤器对象,可以使用匿名内部类对象
        File[] files = dir.listFiles(new FileFilter() {
            public boolean accept(File pathname) {
                //过滤规则,pathname是文件夹或者是以,jps结尾的文件返回true
                return pathname.isDirectory()|| pathname.getName().toLowerCase().endsWith(".jpg");
            }
        });
        for (File f : files) {
            if (f.isDirectory()){
                getAllFile(f);
            }else {
                System.out.println(f);
            }
        }
    }
}

方法二:

package com.baidu.demoFilter;

import java.io.File;
import java.io.FileFilter;
import java.io.FilenameFilter;

public class DemoFilter02 {
    public static void main(String[] args) {
        File file = new File("F:\\develop");
        getAllFile(file);
    }

    public static void getAllFile(File dir){

        File[] files = dir.listFiles(new FilenameFilter() {

            public boolean accept(File dir, String name) {
                //过滤规则,pathname是文件夹或者是以,jps结尾的文件返回true
                //将File dir, String name封装为一个File类对象
                return new File(dir,name).isDirectory()|| name.toLowerCase().endsWith(".jpg");

            }
        });
        for (File f : files) {
            if (f.isDirectory()){
                getAllFile(f);
            }else {
                System.out.println(f);
            }
        }
    }
}

无论是

FilenameFilter还是FileFilter方法,都只有一个accept方法

FilenameFilter方法源码:

public interface FilenameFilter {
    

    boolean accept(File dir, String name);
}

使用Lambda表达式优化匿名内部类

Lambda表示式使用的前提:接口中只有一个抽象方法

package com.baidu.demoFilter;

import java.io.File;
import java.io.FileFilter;
import java.io.FilenameFilter;

public class DemoFilter02 {
    public static void main(String[] args) {
        File file = new File("F:\\develop");
        getAllFile(file);
    }

    public static void getAllFile(File dir){

        File[] files = dir.listFiles((File dr, String name)->{
            return new File(dir,name).isDirectory()|| name.toLowerCase().endsWith(".jpg");


        });
        for (File f : files) {
            if (f.isDirectory()){
                getAllFile(f);
            }else {
                System.out.println(f);
            }
        }
    }
}

使用Lambda表达式优化匿名内部类(升级)

package com.baidu.demoFilter;

import java.io.File;
import java.io.FileFilter;
import java.io.FilenameFilter;

public class DemoFilter02 {
    public static void main(String[] args) {
        File file = new File("F:\\develop");
        getAllFile(file);
    }

    public static void getAllFile(File dir){

       /* File[] files = dir.listFiles((File dr, String name)->{
            return new File(dir,name).isDirectory()|| name.toLowerCase().endsWith(".jpg");


        });*/
        File[] files = dir.listFiles((dr, name)->new File(dir,name).isDirectory()|| name.toLowerCase().endsWith(".jpg"));
        for (File f : files) {
            if (f.isDirectory()){
                getAllFile(f);
            }else {
                System.out.println(f);
            }
        }
    }
}

 

TMC5130/TMC5160步进电机驱动芯片深度解析与工程实践 步进电机驱动芯片是精密运动控制系统的物理执行核心,其性能直接决定定位精度、运行噪声与系统鲁棒性。基于电流闭环控制与电压前馈调制的混合驱动原理,现代智能驱动芯片如TMC51X0系列实现了微步插补、堵转检测和片上运动规划等关键技术突破。这类芯片通过SPI寄存器级配置实现StealthChop静音驱动与SpreadCycle高动态响应模式的无缝切换,在3D打印、CNC、机器人关节等场景中显著提升能效比与控制带宽。本文围绕TMC5130与TMC5160的硬件架构差异、寄存器操作时序、驱动模式物理机制及FreeRTO 阅读详情

相关推荐

告别AT串口线!用STM32F407的USB FS口直连EC800M进行物联网通信

本文介绍了一种创新的物联网通信方案,利用STM32F407的USB FS接口直连EC800M模块,替代传统的AT串口线连接。通过详细的硬件对比、STM32CubeMX配置和USB驱动调试步骤,展示了如何实现更高效的AT指令通信,同时降低硬件复杂度和功耗。

weixin_29189987的博客 706

判断指定目录下是否有后缀名为.jpg的文件,如果有,就输出该文件名称

判断指定目录下是否有后缀名为.jpg的文件,如果有,就输出该文件名称 /* 判断指定目录下是否有后缀名为.jpg的文件,如果有,就输出该文件名称 思路: 1.将用list()方法获取目录下的各文件名(含后缀) 2.for循环遍历String数组中文件名 3.查找.最后一次出现的索引位置、找出当前字符串的最大下标 4.根据substring(int beginIndex, int endIndex)从文件名中截取除.jpg 5.与.jpg比较,true则存在,并输出该文件名称 */ @Test pu

qsw1364941774的博客 1800

关于获取CISP-PTE一些避坑经历

考场内是不允许携带外设键盘的,现场会至少有一个360安全专业人员监考.所有人电脑都会提前装一个奇安信的一个考试exe,刚开始的时候会让你连接一个WIFI,我们将会通过WIFI进行做题,做题期间你的电脑将被全程监控并且一些退出快捷键也是全部锁死(有点像勒索病毒那种界面),想要重启必须直接拔电源。中途可以上厕所,需要监考官陪同

6321

Java判断文件夹下是否有指定后缀名的文件(txt,jpg,pdf等)

public static boolean WhetherExistTXTFile(){ String path = "D:\\UAT\\Node0\\Attrquery"; File file = new File(path); File filelist[] = file.listFiles(); for(File f : filelist){ String f...

告小辞 1万+

PHP实战:5分钟搞定SM4国密加密算法集成(附完整代码)

本文提供了一份可直接用于生产环境的PHP SM4国密加密算法集成实战指南。文章详细解析了SM4算法核心,对比了ECB与CBC工作模式,并给出了包含完整代码、密钥管理、数据填充及性能优化的解决方案,帮助开发者快速、安全地在PHP项目中集成国密加密算法。

2a4s6d8f0g的博客 339

Windows部署OpenClaw报错不断?这篇环境配置指南帮你解决难题

想在Windows上部署OpenClaw却频频报错?🔧 本文详细梳理了OpenClaw部署必需环境的安装步骤和官方下载地址 📦,提供完整的验证清单和常见问题排查方法,帮你一次性搞定所有环境配置,顺利部署OpenClaw ✅

XiaoqiangClub的博客 6626

Java面试题(九)-----编写程序实现判断E: / 根目录下是否有后缀名为.jpg的文件,如果有则输出文件名称

递归算法 + File类 + FileFilter 完成找出E盘下的所有照片

qq_48788523的博客 1028

复现:Mamba-UNet:降水临近预报的创新解决方案

Mamba-UNet通过其创新的双分支Mamba融合模块、多尺度时空注意力模块和动态分位数加权损失函数,在降水临近预报领域取得了显著的性能提升。它不仅在多种降水场景下表现出色,尤其在预测强降水事件方面展现出了强大的能力。这一创新模型为降水临近预报提供了一种新的解决方案,有望在未来的研究和应用中发挥更大的作用,为应对气候变化带来的挑战提供有力支持。随着技术的不断发展和优化,我们期待Mamba-UNet在更广泛的气象预报任务中发挥更大的价值,为各行各业提供更精准、更可靠的降水预报服务。

hanfeng5268的博客 912

Java实现指定目录下的文件查找

Java实现指定目录下的文件查找 入门Java实现文件的查找功能较为简单,主要有以下两种: 1.给出文件名,查找目录及其子目录中是否存在 2.给出后缀名,查找目录及其子目录中相关的文件 题型一: 题目:在指定目录下查找一个文件,如果目录或子目录下有查找的文件,返回文件所在的目录,否则输出 “当前目录下没有此文件”。 package hello; import java.io.File; import java.util.*; public class 第七周第二题 { public static voi

ws15168689087的博客 2万+

纯方位观测下的三维定位,IV-PLKF(Inverse Velocity-Weighted Pseudo-Linear Kalman Filter)

在现代定位系统中,纯方位观测因其无需测距设备的优势,在无线通信、无人机导航和室内定位等领域备受关注。本文深入探讨基于算法的三维定位方法,并提供完整的MATLAB仿真例程。

985工科博士毕业,专攻定位、导航和滤波等算法研究。从业10年,主要使用MATLAB 672

判断单级目录下是否有后缀名为.jpg的文件的三种方法

public class HomeWork { public static void main(String[] args) { File file = new File("F:\\file"); 方法1  通过list方法  public String[] list() String[] list = file.list();//获取文件夹下面的所有文件名,包括文件 for (Str...

学习博客--记录学习历程 1314

T527 uart串口配置导致系统进不去

T527 s_uart串口配置导致系统进不去。

Linux驱动开发工程师,熟悉Linux/Android底层驱动、TP、显示、IIC、网络等通用外设调试适配,Linux上层应用开发。常用平台瑞芯微、全志、恩智浦等。 675

文件名称过滤器的概述及使用

文件名称过滤器的概述及使用 A:案例演示 需求:判断E盘目录下是否有后缀名为.jpg的文件,如果有,就输出该文件名称。 String[] list(FilenameFilter filter) package com.heima.test; import java.io.File; import java.io.FilenameFilter; public class Test04...

LeoZuosj的博客 318

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

编写Java程序,在一个文件夹内,查找占用磁盘空间最大的 jpg 文件,并输出文件大小

需求说明: 在一个文件夹内,查找占用磁盘空间最大的 jpg 文件,并输出文件大小 实现思路: 创建ImageFileFilter类实现FilenameFilter接口,且重写accept方法,该方法中对文件后缀.jpg进行判断 因涉及到比较文件大小操作,创建比较器类 FileComparator,实现 java.util.Comparator 接口,为该类添加泛型 File,并重写 compare(File file1,File file2) 方法,该方法的作用是对两个文件进行比较。 创建运行

杨明金的博客 4998

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

JAVA基础(FilenameFilter文件名称过滤器)

1,文件名称过滤器的概述 public String[] list(FilenameFilter filter)返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中满足指定过滤器的文件和目录。 public File[] listFiles(FileFilter filter)返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。 ...

Cricket_7的博客 1311

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

JAVA_用递归实现遍历文件目录和过滤器

1 递归打印多级目录 /* 练习: 递归打印多级目录 需求: 遍历c:\\abc文件夹,及abc文件夹的子文件夹 只要.java结尾的文件 c:\\abc c:\\abc\\abc.txt c:\\abc\\abc.java c:\\abc\\a c:\\abc\\a\\a.jpg c:\\abc\\a\\a.java c:\\abc

TOPic666的博客 581

遍历当前目录下文件,找到和列出后缀为.jpg的文件名——三种方式举例

package com.atguigu.exer2; import org.junit.Test; import java.io.File; import java.io.FilenameFilter; /** * 课后练习2:判断指定目录下是否有后缀名为.jpg的文件,如果有,就输出该文件名称 */ public class FindJPGFileTest { @Test public void test1(){ File srcFile = new File("d:\\code");.

麦小洛 1428

查询指定目录下指定后缀的文件名

题目:判断指定目录下是否有后缀名为.jpg的文件,如果有,就输出此文件名称 方法一:先获取再判断 分析: 1.封装指定目录 2.获取该目录下所有文件或者文件夹的File数组 3.遍历该File数组,得到每一个File对象,然后判断 4.是否是文件 是:继续判断是否已.jpg结尾 否:递归去判断子文件夹 是:就输出该文件名称 public void lookFile(File file) { ...

enkidu66的博客 663

一个简单的文件过滤器

文件过滤器的作用:在众多的文件中,筛选出符合条件的文件.例如在我的电脑中的,D:\文档\浏览器下载目录下,筛选出所有的以.exe或者.pdf等等结尾的文件

LK_Lawliet的博客 337

java实现监听目录下所有文件和文件夹下的文件

有个面试题,大概讲的是监听目录下所有文件包括文件夹下的文件夹下的文件,递归, 主要使用了common-io包,maven依赖如下: <!-- https://mvnrepository.com/artifact/commons-io/commons-io --> <dependencies> <dependency> <...

你就像甜甜的益达 3283

Java File类常用方法及文件名过滤器(FilenameFilter)

Java File类 一、File类的概述和构造方法 概述:文件和目录路径名的抽象表示形式 构造方法 File(String pathname):根据一个路径得到File对象 File(String parent, String child):根据一个目录和一个子文件/目录得到File对象 File(File parent, String child):根据一个父File对象和一个子文件...

baolingye的博客 2235

java中文件File类的常用方法以及文件过滤器的使用

文件File ​ file类:文件和目录路径名的表现形式——通过file对象实现对文件或文件夹的操作 1.构造方法(3种) File(String pathname)通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。 File(String parent, String child):根据 parent 路径名字符串和 child 路径名字符串创建一个新 File ...

qq_45100706的博客 374

Java实现一个控制台的文件过滤器

想要实现一个控制台文件过滤器,我们需要实现FilenameFilter接口,用到File类先介绍一下FilenameFilter接口FilenameFilter接口java.io.FilenameFilter是文件名过滤器,用来过滤不符合规格的文件名,并返回合格的文件; 实现此接口的类实例可用于过滤器文件名; 实现FilenameFilter接口需要实现接口里的accept()方法boolean

zhc5885306的博客 474

Java:File的使用(新建、删除、重命名文件和目录)

File的使用(新建、删除、重命名文件和目录)0:File的使用(新建、删除、重命名文件和目录)1:File 类的使用:常用构造器2:File 类的使用:路径分隔符3:File 类的使用:常用方法3.1 File类的获取功能3.2 File类的重命名功能3.3 File类的判断功能3.4 File类的创建功能3.5 File类的删除功能4:创建File对象注意点(是否真实存在)5:举例5.1 创建一个与file同目录下的另外一个文件,文件名:haha.txt;5.2 判断指定目录下是否有后缀名为.jpg的

m0_51755061的博客 4989

文件搜索_使用过滤器Filter及使用Lambda表达式优化

01:练习: 文件搜索使用过滤器Filter 需求: 遍历C:\abc文件夹,及abc文件夹的子文件夹 只要.java结尾的文件 C:\abc C:\abc\a C:\abc\a\a.java C:\abc\a\a.jpg C:\abc\abc.java C:\abc\abc.txt C:\abc\b C:\abc\b\b.java C:\abc\b\b.txt 02:我们可以使用过滤器来实现 在File类中有两个和两个和listFiles重载的方法,方参数传递的就是过滤器 1.File[] files =

weiyoo55的博客 841
上一篇: Java中过滤器自定义过滤规则图文分析
下一篇: 成功解决Idea lambda expressions are not supported at this language level 1.5报错
崔凯洋
博客等级 码龄6年 26粉丝 132原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值