Java文件操作——简单文件搜索优化版本Lambda优化
设计文件搜索程序的思路:
- 接口作为参数,需要传递子类对象,重写其中方法。我们选择匿名内部类方式,比较简单。
accept
方法,参数为File,表示当前File下所有的子文件和子目录。保留住则返回true,过滤掉则返回false。保留规则:
- 要么是.java文件。
- 要么是目录,用于继续遍历。
- 通过过滤器的作用,
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优化相关推荐
- Java文件操作——简单文件搜索优化版本
设计文件搜索程序的思路: 接口作为参数,需要传递子类对象,重写其中方法.我们选择匿名内部类方式,比较简单. accept方法,参数为File,表示当前File下所有的子文件和子目录.保留住则返回tru ...
- android的文件操作,Android文件操作概要1.ppt
Android文件操作概要1 Linux文件系统 在Linux中,文件的扩展名并不重要,一个文件是否可以访问或执行,是完全由文件属性来决定的.细心的读者会发现最后一列比较特殊,这一列描述的是Linux ...
- java删除相对路径文件夹_Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录...
Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录 这里先简单的贴下常用的方法: File.separator //当前系统文件分隔符 File.pathSeparator// F ...
- C++ 学习笔记之——文件操作和文件流
1. 文件的概念 对于用户来说,常用到的文件有两大类:程序文件和数据文件.而根据文件中数据的组织方式,则可以将文件分为 ASCII 文件和二进制文件. ASCII 文件,又称字符文件或者文本文件,它的 ...
- python关闭读写的所有的文件-Python文件操作:文件的打开关闭读取写入
Python文件操作:文件的打开关闭读取写入 一.文件的打开关闭 Python能以文本和二进制两种方式处理文件,本文主要讨论在Python3中文本文件的操作. 文件操作都分为以下几个步骤: 1.打开文 ...
- Kettle使用_15 文件操作复制文件到结果
Kettle使用_15 文件操作复制文件到结果 需求: 通过Kettle的组件实现文件夹下所有文件的复制到另外个文件夹. 解决方法:结合获取文件名.复制文件名到结果.执行作业.添加到结果文件列表.复制 ...
- .NET基础-11-ArrayList|Hashtable|File文件操作|Dircetioy文件夹操作|Path路径操作
集合 ArrayList与Hashtable应为存在拆箱与装箱,所以性能不怎么好,尽量不要使用,而使用泛型集合 可以使用下面的方式输出所消耗的时间 //ArrayList arl = new Arra ...
- python以写模式打开的文件无法进读操作_Python文件操作:文件的打开关闭读取写入...
Python文件操作:文件的打开关闭读取写入 一.文件的打开关闭 Python能以文本和二进制两种方式处理文件,本文主要讨论在Python3中文本文件的操作. 文件操作都分为以下几个步骤: 1.打开文 ...
- 今天的码农女孩做了关于文件操作和文件拖拽的笔记 2022/1/21
文件操作和文件拖拽 文件操作: js有两种机制:一个是事件机制,一个是io机制 文件操作对象: Blob通过二进制数据读取 file读取单个文件对象 fileList读取多个文件对象 fileRead ...
- 【Java 编程】文件操作,文件内容的读写—数据流
一.认识文件 1.什么是文件 平时说的文件一般都是指存储在硬盘上的普通文件 形如 txt, jpg, mp4, rar 等这些文件都可以认为是普通文件,它们都是在硬盘上存储的 在计算机中,文件可能是一 ...
最新文章
- 【数据结构】双链表的实现(C语言)
- 找工作 50道编程题Java实现(32-50)
- Zoj 3201 Tree of Tree
- 前端学习(2995):vue+element今日头条管理--代码测试规范
- centos7 校正linux系统时间_Linux系统:Centos7下搭建ClickHouse列式存储数据库
- 【华为云技术分享】开发团队中的任务没人领取,你头疼吗?
- Java面试之五大框架的理解
- 三菱基于雷诺平台推全新跑车 搭1.1T引擎
- 计算机wmi配置错误,系统没有WMI服务怎么办、WMI错误修复方法
- 《增长黑客》- 读书笔记(四)增长黑客循环
- OceanBase 社区版 ODC 功能解读
- ElasticSearch学习笔记
- AI之Tool:GitHub Copilot(一款人工智能编程小助手—猜你想写的代码)的简介、安装、使用方法之详细攻略
- 为什么很多企业要自研CRM系统,而不够买SAAS云服务提供的CRM系统或SCRM系统?...
- android选择相册图片并显示
- 关于麻球网关闭的感想
- java中公钥,私钥,pkcs1格式,pkcs8格式互转
- 【ABAP】OPEN SQL(六)「DELETE语句 | MODIFY语句」
- 工业控制系统概述:SCADA,DCS和PLC的概述
- java分布式事务——seata,tcc解决方案总结!