From 0915fb7839eef494612ab314d2c30c12145b8493 Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Tue, 17 Mar 2026 14:57:11 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=9B=E9=98=B6day08-=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E8=BF=87=E6=BB=A4=E5=99=A8=E7=9A=84=E5=9F=BA=E6=9C=AC=E4=BD=BF?= =?UTF-8?q?=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inmind/filefilter03/FileFilterDemo13.java | 37 +++++++++++++++++++ .../inmind/filefilter03/FileFilterImpl.java | 11 ++++++ 2 files changed, 48 insertions(+) create mode 100644 javaSE-day08/src/com/inmind/filefilter03/FileFilterDemo13.java create mode 100644 javaSE-day08/src/com/inmind/filefilter03/FileFilterImpl.java diff --git a/javaSE-day08/src/com/inmind/filefilter03/FileFilterDemo13.java b/javaSE-day08/src/com/inmind/filefilter03/FileFilterDemo13.java new file mode 100644 index 0000000..5ea2d67 --- /dev/null +++ b/javaSE-day08/src/com/inmind/filefilter03/FileFilterDemo13.java @@ -0,0 +1,37 @@ +package com.inmind.filefilter03; + +import java.io.File; + +/* + 文件过滤器的基本使用 + 1.文件过滤器的相关的api: + File[] listFiles(FileFilter filter) 返回一个抽象路径名数组,表示由此抽象路径名表示的满足指定过滤器的目录中的文件和目录。 + + 2.@FunctionalInterface + public interface FileFilter + 抽象方法的介绍: + boolean accept(File pathname)中的参数pathname是一个文件或者文件夹对象,它就是当前调用listFiles方法的文件夹中的每个子元素, + 每个子元素会依次进入到accept方法中,执行得到结果,如果结果是true就保存在返回值(File[] )中,否则就直接过滤掉。 + + 3.过滤器的基本使用步骤: + 1.创建一个文件夹对象 + 2.先定义一个符合业务的文件过滤器实现类 + 3.调用listFiles(FileFilter filter) + + + 需求:将指定的目录中的一级子内容中,使用文件过滤器,直接获取到一级目录的.txt后缀的文件 + */ +public class FileFilterDemo13 { + public static void main(String[] args) { + //1.创建一个文件夹对象 + File file = new File("D:\\io_test"); + //2.先定义一个符合业务的文件过滤器实现类 + FileFilterImpl fileFilter = new FileFilterImpl(); + //3.调用listFiles(FileFilter filter) + File[] files = file.listFiles(fileFilter); + + for (File f : files) { + System.out.println(f.getName()); + } + } +} diff --git a/javaSE-day08/src/com/inmind/filefilter03/FileFilterImpl.java b/javaSE-day08/src/com/inmind/filefilter03/FileFilterImpl.java new file mode 100644 index 0000000..0650518 --- /dev/null +++ b/javaSE-day08/src/com/inmind/filefilter03/FileFilterImpl.java @@ -0,0 +1,11 @@ +package com.inmind.filefilter03; + +import java.io.File; +import java.io.FileFilter; +//文件过滤器的目标:目录的.txt后缀的文件 +public class FileFilterImpl implements FileFilter { + @Override + public boolean accept(File f) { + return f.isFile() && f.getName().endsWith(".txt"); + } +}