JAVA-基础(查找文件夹内文件)
JAVA-基础(查找文件夹内文件)
1.目的?
查找指定文件夹内的文件。以查询.txt结尾的文件为例。
2.分析?
目录搜索,无法判断多少级目录,所以使用递归,遍历所有目录。
遍历目录时,获取的子文件,通过文件名称,判断是否符合条件。
3.代码实现?
1 public class DiGuiDemo4 { 2 public static void main(String[] args) { 3 File dir = new File("D:\\aaa"); 4 printDir2(dir); 5 } 6 7 public static void printDir2(File dir) { 8 // 匿名内部类方式,创建过滤器子类对象 9 File[] files = dir.listFiles(new FileFilter() { 10 @Override 11 public boolean accept(File pathname) { 12 return pathname.getName().endsWith(".txt")||pathname.isDirectory(); 13 } 14 }); 15 // 循环打印 16 for (File file : files) { 17 if (file.isFile()) { 18 System.out.println("文件名:" + file.getAbsolutePath()); 19 } else { 20 printDir2(file); 21 } 22 } 23 } 24 }
4.解释?
File dir = new File("D:\\aaa");创建一个文件对象。listFiles方法作用是遍历File dir文件夹内的文件和文件夹。所以返回的值为数组。FileFilter是一个接口,是File的过滤器。 该接口的对象可以传递给File类的listFiles(FileFilter)
作为参数, 接口中只有一个方法。boolean accept(File pathname)
:测试pathname是否应该包含在当前File目录中,符合则返回true。接口作为参数,需要传递子类对象,重写其中方法。我们选择匿名内部类方式,比较简单。accept
方法,参数为File,表示当前File下所有的子文件和子目录。保留住则返回true,过滤掉则返回false。保留规则:要么是.txt文件。要么是目录,用于继续遍历。通过过滤器的作用,listFiles(FileFilter)
返回的数组元素中,子文件对象都是符合条件的,可以直接打印。
pathname.getName().endsWith(".txt")||pathname.isDirectory()。判断名字后缀是否是.txt的或者是不是文件夹。
转载于:https://www.cnblogs.com/fan123yh/p/11017254.html
JAVA-基础(查找文件夹内文件)相关推荐
- Java获取文件大小,文件夹内文件个数的工具类
package cn.edu.hactcm.cfcms.utils; import java.io.File; import java.io.FileInputStream; import java. ...
- java 文件大小统计工具类_Java获取文件大小,文件夹内文件个数的工具类
package cn.edu.hactcm.cfcms.utils; import java.io.File; import java.io.FileInputStream; import java. ...
- python 文件操作 os 如何检索文件夹内文件数量
参考文章1:python os获取文件夹中文件夹内文件的数量,保存为CSV文件 参考文章2:用python计算大文件夹下小文件夹里文件的个数
- 文件夹修改名字 matlab,matlab用 movefile更改文件夹内文件名字
%超简单,利用matlab自带函数movefile(旧名,新名)更改文件夹内文件名字,可以是改一个或多个文件 clc clear dir1 = 'D:\workplace\新程序实验'; %选择数据所 ...
- Python:获取文件夹内 文件夹 和 文件数量
path = 'C:/Users/Dell/Desktop/test' print('dirnum:',len([lists for lists in os.listdir(path) if os.p ...
- php过去文件夹总数,用php获取文件夹内文件的数量
欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 用php获取指定文件夹内文件的数量: 用PHP读取一个文件夹内有多少个文件,例如有一个Picture文件夹,里面有200张 ...
- bat 文件夹内文件批量重命名
文件夹内文件批量重命名,示例如下: chcp 65001 @echo off set /p w=请输入文件格式(即扩展名并以回车结束): ::set /p wf=请输入要修改的文字(以回车结束): s ...
- shell脚本读取文件夹内文件名称
shell脚本读取文件夹内文件名称代码如下: 1.配置文件: readFilePath=/wocloud/soft/tomcat/selfYearAppraiseTomcat/selfYearAppr ...
- 深度学习文件处理系列(一)——统一为文件夹内文件添加前缀
专栏介绍 这个专栏旨在分享我在进行深度学习算法前的一些脚本文件.包括一些常见的处理,如将单通道图片改为三通道.统一图片格式.将标签进行统一设置方便查找等等. 为文件夹内的文件添加前缀 在进行算法训练前 ...
最新文章
- Android应用程序消息处理机制(Looper、Handler)分析(2)
- python控制苹果手机触摸屏失灵怎么办_iphone触摸屏失灵怎么办 iphone触摸屏失灵解决办法【详解】...
- krpano·分组图片地图插件
- Retrofit+RxJava
- String类为什么是final的
- Java多线程:乐观锁、悲观锁、自旋锁
- Retrofit的简单使用
- Leedcode8-reorder-list
- 【Trie】[CQOI2016]路由表
- mysql内置时间函数大全_MySQL 的时间函数 大全
- java建议:避免使用终结方法
- Swing学习笔记1-----Swing组件类的层次
- 计算机管理服务重置网络,重置网络命令需要管理员身份
- html5二维动画教程,Flash二维动画制作案例教程
- android usb触摸驱动,Linux/Android——usb触摸屏驱动 - usbtouchscreen
- PostgresSQL弱密码导致命令执行
- 利用泰勒展开式实现sin(x),cos(x)函数
- 前端面试题(带答案)
- eMMC mmcblk0boot0
- 暴走英雄坛服务器维护到什么时候,暴走英雄坛在4月25日更新了什么 最新维护内容介绍...
热门文章
- java 多线程缓存_[Java教程]【JAVA并发编程实战】12、使用condition实现多线程下的有界缓存先进先出队列...
- css3 下边框缓缓划过_一篇文章带你了解CSS3按钮知识
- 20220201--CTF刷题MISC方向--第4题
- 【Linux】- 守护进程的启动方法
- git命令之git mergetool vi非正常退出.swp删除不了的问题
- RISC-V工具链环境(基于Debian/Linux操作系统)
- ●BZOJ 3129 [Sdoi2013]方程
- noip2017考前整理(未完)
- HDU 4870 Rating 高斯消元法
- SSRS: How to Display Checkbox on Report