设计文件搜索程序的思路:

  1. 接口作为参数,需要传递子类对象,重写其中方法。我们选择匿名内部类方式,比较简单。
  2. accept方法,参数为File,表示当前File下所有的子文件和子目录。保留住则返回true,过滤掉则返回false。保留规则:
    1. 要么是.java文件。
    2. 要么是目录,用于继续遍历。
  3. 通过过滤器的作用,listFiles(FileFilter)返回的数组元素中,子文件对象都是符合条件的,可以直接打印。
public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入搜索文件的目录:");String sca = scanner.nextLine();System.out.println("请输入搜索文件名:");String fileName = scanner.nextLine();//创建搜索的目录对象File file = new File(sca);//调用搜索的方法printFile(file, fileName);}/*** 文件搜索实现** @param file 搜索目录*/public static void printFile(File file, String fileName) {//获取当前路径下的所有文件和目录// 匿名内部类方式,创建过滤器子类对象File[] dirs = file.listFiles((File pathname) -> pathname.getName().endsWith(fileName) || pathname.isDirectory());//遍历该目录下的文件和目录for (File dir : dirs) {//判断是否 是文件if (dir.isFile()) {//判断文件与搜索的目标是否匹配if (dir.getName().endsWith(fileName)) {System.out.println("文件名:" + dir.getAbsolutePath());}} else {//递归调用搜索方法printFile(dir, fileName);}}}
}

Java文件操作——简单文件搜索优化版本Lambda优化相关推荐

  1. Java文件操作——简单文件搜索优化版本

    设计文件搜索程序的思路: 接口作为参数,需要传递子类对象,重写其中方法.我们选择匿名内部类方式,比较简单. accept方法,参数为File,表示当前File下所有的子文件和子目录.保留住则返回tru ...

  2. android的文件操作,Android文件操作概要1.ppt

    Android文件操作概要1 Linux文件系统 在Linux中,文件的扩展名并不重要,一个文件是否可以访问或执行,是完全由文件属性来决定的.细心的读者会发现最后一列比较特殊,这一列描述的是Linux ...

  3. java删除相对路径文件夹_Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录...

    Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录 这里先简单的贴下常用的方法: File.separator //当前系统文件分隔符 File.pathSeparator// F ...

  4. C++ 学习笔记之——文件操作和文件流

    1. 文件的概念 对于用户来说,常用到的文件有两大类:程序文件和数据文件.而根据文件中数据的组织方式,则可以将文件分为 ASCII 文件和二进制文件. ASCII 文件,又称字符文件或者文本文件,它的 ...

  5. python关闭读写的所有的文件-Python文件操作:文件的打开关闭读取写入

    Python文件操作:文件的打开关闭读取写入 一.文件的打开关闭 Python能以文本和二进制两种方式处理文件,本文主要讨论在Python3中文本文件的操作. 文件操作都分为以下几个步骤: 1.打开文 ...

  6. Kettle使用_15 文件操作复制文件到结果

    Kettle使用_15 文件操作复制文件到结果 需求: 通过Kettle的组件实现文件夹下所有文件的复制到另外个文件夹. 解决方法:结合获取文件名.复制文件名到结果.执行作业.添加到结果文件列表.复制 ...

  7. .NET基础-11-ArrayList|Hashtable|File文件操作|Dircetioy文件夹操作|Path路径操作

    集合 ArrayList与Hashtable应为存在拆箱与装箱,所以性能不怎么好,尽量不要使用,而使用泛型集合 可以使用下面的方式输出所消耗的时间 //ArrayList arl = new Arra ...

  8. python以写模式打开的文件无法进读操作_Python文件操作:文件的打开关闭读取写入...

    Python文件操作:文件的打开关闭读取写入 一.文件的打开关闭 Python能以文本和二进制两种方式处理文件,本文主要讨论在Python3中文本文件的操作. 文件操作都分为以下几个步骤: 1.打开文 ...

  9. 今天的码农女孩做了关于文件操作和文件拖拽的笔记 2022/1/21

    文件操作和文件拖拽 文件操作: js有两种机制:一个是事件机制,一个是io机制 文件操作对象: Blob通过二进制数据读取 file读取单个文件对象 fileList读取多个文件对象 fileRead ...

  10. 【Java 编程】文件操作,文件内容的读写—数据流

    一.认识文件 1.什么是文件 平时说的文件一般都是指存储在硬盘上的普通文件 形如 txt, jpg, mp4, rar 等这些文件都可以认为是普通文件,它们都是在硬盘上存储的 在计算机中,文件可能是一 ...

最新文章

  1. 【数据结构】双链表的实现(C语言)
  2. 找工作 50道编程题Java实现(32-50)
  3. Zoj 3201 Tree of Tree
  4. 前端学习(2995):vue+element今日头条管理--代码测试规范
  5. centos7 校正linux系统时间_Linux系统:Centos7下搭建ClickHouse列式存储数据库
  6. 【华为云技术分享】开发团队中的任务没人领取,你头疼吗?
  7. Java面试之五大框架的理解
  8. 三菱基于雷诺平台推全新跑车 搭1.1T引擎
  9. 计算机wmi配置错误,系统没有WMI服务怎么办、WMI错误修复方法
  10. 《增长黑客》- 读书笔记(四)增长黑客循环
  11. OceanBase 社区版 ODC 功能解读
  12. ElasticSearch学习笔记
  13. AI之Tool:GitHub Copilot(一款人工智能编程小助手—猜你想写的代码)的简介、安装、使用方法之详细攻略
  14. 为什么很多企业要自研CRM系统,而不够买SAAS云服务提供的CRM系统或SCRM系统?...
  15. android选择相册图片并显示
  16. 关于麻球网关闭的感想
  17. java中公钥,私钥,pkcs1格式,pkcs8格式互转
  18. 【ABAP】OPEN SQL(六)「DELETE语句 | MODIFY语句」
  19. 工业控制系统概述:SCADA,DCS和PLC的概述
  20. java分布式事务——seata,tcc解决方案总结!

热门文章

  1. 鉴相,鉴频以及环路跟踪算法的理解:
  2. emqx配置ssl/tsl实现双向认证
  3. 逆向之制作扫雷外挂——003
  4. 高斯win和linux,微软雅黑在 win 和 Linux 下安装使用的对比
  5. android格式化sd卡软件,SD/TF卡格式化程序
  6. 英语单词速记(一直更新中......)
  7. pyton构建一个计算列表中位数的函数
  8. IMAGE_IMPORT_DESCRIPTOR
  9. 找回git误删除的文件
  10. excel计算加权和