java8 遍历目录_使用java8API遍历过滤文件目录及子目录及隐藏文件
1. 使用Files.list()迭代目录及其子目录文件
Files.list()可以迭代目录及其子目录文件
Files.list(Paths.get(".")) //当前目录
.forEach(System.out::println);
输出:
.\filename1.txt
.\directory1
.\filename2.txt
.\Employee.java
2. 使用 filter表达式过滤文件
过滤器函数引用,isRegularFile表示普通文件
Files.list(Paths.get("."))
.filter(Files::isRegularFile) //过滤器:只保留普通文件,过滤掉文件目录
.forEach(System.out::println);
输出结果如下:
.\filename1.txt
.\filename2.txt
.\Employee.java
也可以使用lambda表达式进行过滤
Files.list(Paths.get("."))
.filter(s -> s.startsWith("file")) //过滤器:只保留以file开头的文件及目录
.forEach(System.out::println);
3. 使用 Files.newDirectoryStream()迭代目录及其子目录文件
另一种更灵活的遍历目录的方式Files.newDirectoryStream(),如果我们的目录文件又深又多,DirectoryStream可以使迭代目录的速度更快。
Files.newDirectoryStream(Paths.get("."))
.forEach(System.out::println);
输出结果与Files.list()效果一致
.\filename1.txt
.\directory1
.\filename2.txt
.\Employee.java
4. 使用Files.newDirectoryStream()迭代指定文件后缀名的文件
我们可以为Files.newDirectoryStream()传递第二个参数,指定过滤条件,比如以java(结尾)为后缀名的文件
Files.newDirectoryStream(Paths.get("."),
path -> path.toString().endsWith(".java"))
.forEach(System.out::println);
Output:
.\Employee.java
5. 遍历目录内的隐藏文件
要查找所有隐藏文件,可以在过滤器中使用lambda表达式file -> file.isHidden()。或者,使用java8的方法引用。
final File[] files = new File(".").listFiles(file -> file.isHidden());
//or
final File[] files = new File(".").listFiles(File::isHidden);
欢迎关注我的博客,里面有很多精品合集
本文转载注明出处(必须带连接,不能只转文字):字母哥博客。
觉得对您有帮助的话,帮我点赞、分享!您的支持是我不竭的创作动力! 。另外,笔者最近一段时间输出了如下的精品内容,期待您的关注。
java8 遍历目录_使用java8API遍历过滤文件目录及子目录及隐藏文件相关推荐
- java让文件隐藏文件_使用java8API遍历过滤文件目录及子目录及隐藏文件
1. 使用Files.list()迭代目录及其子目录文件 Files.list()可以迭代目录及其子目录文件 Files.list(Paths.get(".")) //当前目录 . ...
- python下标遍历字典_字典的遍历以及公共方法
目录 遍历 字符串的遍历 列表遍历 元组遍历 字典遍历 1> 遍历字典的key(键) 2> 遍历字典的value(值) 3> 遍历字典的项(元素) 补充 实现带下标索引的遍历,方法一 ...
- linux脚本遍历目录,shell脚本递归遍历目录及子目录的例子分享
用shell写的递归遍历目录的脚本,脚本实现递归遍历指定目录,打印目录下的文件名. 实例1: 复制代码 代码如下: #!/bin/sh function scandir() { local cur_d ...
- v-for能倒序遍历吗_神级遍历——morris
morris遍历介绍 morris遍历是二叉树遍历算法的超强进阶算法,跟递归.非递归(栈实现)的空间复杂度,morris遍历可以将非递归遍历中的空间复杂度降为O(1).从而实现时间复杂度为O(N),而 ...
- python递归遍历目录_Python实现递归遍历文件夹并删除文件
思路: 遍历文件夹下面的文件夹 如果文件夹名称等于".svn",则修改文件夹的属性(因为".svn"的文件都是只读的,你不能直接删除) 删除此文件夹 如果文件夹 ...
- clientdataset 遍历字段_解决DBGridEh遍历记录后不移动当前行位置的方法
解决DBGridEh遍历记录后不移动当前行位置的方法 在用DBGridEh配合ClientDataSet使用时,需要知道用户选择了哪些记录,可用遍历记录的方法查询选择列是否为真,但在这之后,Clien ...
- python3遍历电子表格_用openpyxl遍历excel表格
Python的openpyxl模块,提供了对excel表格的读写操作接口.本文介绍使用openpyxl来遍历excel表格. openpyxl支持Excel 2010 xlsx/xlsm/xltx/x ...
- 网页打开共享目录_你会做Excel文件目录吗?真的太太太太太简单了!
点击蓝字发送[2020]免费领 100+图表模板!本文作者:长小安本文编辑:尔冬哈喽大家好!我是长小安,一名和秋叶一起学了多年 Excel.现在成功出道投稿的同学~让我来猜猜,你的电脑是不是也像我的一 ...
- php 找目录下txt文件,PHP遍历目录下的TXT文件且按时候排序_后端开发
遍历目次下的txt文件 示例: //遍历目次下文件要领 function printdir($dir) { $files = array(); //opendir() 翻开目次句柄 if($handl ...
最新文章
- 如何利用离散Hopfield神经网络进行数字识别(1)
- Python中读取、显示和保存图片的方法
- python代码大全p-Python5种代码维护工具
- python2.7 + selenium3.4.3浏览器的选择
- JS引用类型(2)——Array类型
- 在 C# 中,如何发现死锁并防止死锁
- xxl-job执行定时job原理
- abstract class和interface有什么区别
- duilib 子窗口位置_duilib各种布局的作用,相对布局与绝对布局的的意义与使用方法...
- python开发飞船游戏
- 微软重写 Windows 10 激活规则
- Docker 学习5 Docker容器网络
- 什么是协方差(covariance)?(延伸到 协方差矩阵、多元高斯分布、PCA)
- PHP判断PC浏览器与手机浏览器的方法
- springboot整合mongodb
- el-select和el-tree结合的下拉树
- 告别windows,拥抱ubuntu
- 9GAG客户端,五一3天尽心之作,Just Android Design!(开源)+毛玻璃效果
- 移动地图应用普及给企业带来的利益
- “Hacker_R_US”因炸弹威胁和DDoS勒索被判8年监禁