java8 的files、path类相关文件遍历API

摘要:
Path的两种初始化方法(应该有其他方法):Pathfile=newFile(路径)。toPath();Paths.get确定它是文件还是目录。Files.isRegularFile(file)Files.isDirectory(file)javadoc指出,在某些情况下,文件和目录都不存在。Files.find通过属性和路径进行过滤,并且路径与PathMatcher样式匹配。有两种方法:全局和正则表达式。

Path的两种初始化(应该还有别的方式)

Path file = new File(path).toPath();

Paths.get

判断是文件、是目录

Files.isRegularFile(file)

Files.isDirectory(file)

javadoc说,还有既不是文件也不是目录的情况

Files.find

通过属性和路径筛选,可以筛选是文件,而路径匹配 PathMatcher 样式的。深度可以指定 integer max,无尽深度,或者限定1、2级深度。

PathMatcher 通过 FileSystem.getPathMatcher(String syntaxAndPattern) 获取。按javadoc介绍,有glob和regex两种方式。使用了glob的,没有使用regex的。 glob的支持 {*.gz,*.json} 这样的匹配方式。

还有 Files.walk, directorystream的api调用。这三个api可以遍历目录树,比file listfiles手写递归用高效多了。

返回的流,可以使用skip、limit,进行分页,然后调用foreach,对结果遍历处理。

免责声明:文章转载自《java8 的files、path类相关文件遍历API》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇win32- GetMessage的使用万能日志数据收集器 Fluentd下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

markdown语法---根据使用不断扩充中

markdown语法 标题 标题使用 #表示,几个#表示几级标题,最多六级标题。 斜体 使用 两个星号*括起来的文字是斜体字这是斜体字 粗体 使用四个 * 号括起来的是粗体字。 这是粗体字 引用 这个就是引用,以 > 开始。 超链接 以 []()的方式写,图片需要在前面加一个感叹号. eg: [百度](https://www.baidu.com)...

Delphi6/7 中XML 文档的应用

XML文档是新一代的Web数据格式。它可以用树的形式储存一切数据。下面介绍一下TXMLDocument控件的一些用法:已定义:XMLDoc: TXMLDocument;EncoderMIME: TIdEncoderMIME;DecoderMIME: TIdDecoderMIME;xn:IXMLNode;f:TFileStream;EncoderMIME和D...

System.AccessViolationException,尝试读取或写入受保护的内存。这通常指示其他内存已损坏。

从事件查看器中发现,IIS不定期崩溃并重启的现象。抓取crash dump文件后,发现能够看到异常,但没有堆栈信息(主要是只会看托管代码的堆栈,非托管的不清楚。),问题表现及dump日志的截图如下: 从dump文件的异常信息分析看,System.AccessViolationException,尝试读取或写入受保护的内存。这通常指示其他内存已损坏。...

算法总结—深度优先搜索DFS

深度优先搜索(DFS) 往往利用递归函数实现(隐式地使用栈)。 深度优先从最开始的状态出发,遍历所有可以到达的状态。由此可以对所有的状态进行操作,或列举出所有的状态。 1.poj2386 Lake Couting 题意:八连通被认为连接在一起,求总共有多少个水洼? Sample Input: 10 12 W........WW. .WWW.....WWW...

[转] 基于MBR 的bootkit的进展 鬼影TDL4BMW

以前写的做个总结,留念 1,MBRBOOTKIT –鬼影?0?3鬼影系列?0?3特点:只支持XP 系统,基于国外的开源版本修改。?0?3从MBR里,挂中断13H,驻留高端内存,挂NTLDR 加载,对NTOS的函数进行HOOK,在NTOS初始化过程中,加载病毒驱动,从而进行一系列操作。?0?3所有病毒代码都在 MBR区域里,位于操作系统之外,格式化硬盘,重装系...

nignx反向代理web服务器的配置与使用

一、为什么要用nignx反向代理 1、负载均衡   当一台服务器的单位时间内的访问量越大时,服务器压力就越大,大到超过自身承受能力时,服务器就会崩溃。为了避免服务器崩溃,让用户有更好的体验,我们通过负载均衡的方式来分担服务器压力。 我们可以建立很多很多服务器,组成一个服务器集群,当用户访问网站时,先访问一个中间服务器,在让这个中间服务器在服务器集群中选择一...