JDK7新特性之遍历文件树的示例分析
发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,这篇文章主要介绍JDK7新特性之遍历文件树的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!有时需要递归遍历一个文件树,比如查找一个文件夹内符合条件的文件,查找某一天创建
千家信息网最后更新 2025年11月13日JDK7新特性之遍历文件树的示例分析
这篇文章主要介绍JDK7新特性之遍历文件树的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
有时需要递归遍历一个文件树,比如查找一个文件夹内符合条件的文件,查找某一天创建的文件……。jdk7 nio包提供一个新的接口 FileVisitor。它提供了遍历文件树的各种操作。
preVisitDirectory - 一个路径被访问时调用
PostVisitDirectory - 一个路径的所有节点被访问后调用。如果有错误发生,exception会传递给这个方法
visitFile - 文件被访问时被调用。该文件的文件属性被传递给这个方法
visitFileFailed - 当文件不能被访问时,此方法被调用。Exception被传递给这个方法。
如果你比较懒,不想实现所有方法。你可以选择继承 SimpleFileVisitor。它帮你实现了上述方法,你只需Override 你感兴趣的方法。
下面给个例子,简单地遍历一个文件夹,打印出所有信息
Java代码
import java.io.IOException; import java.nio.file.FileVisitResult; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.SimpleFileVisitor; import java.nio.file.attribute.BasicFileAttributes; /** * @author kencs@foxmail.com */ public class FileVisitorTest extends SimpleFileVisitor { private void find(Path path){ System.out.printf("访问-%s:%s%n",(Files.isDirectory(path)?"目录":"文件"),path.getFileName()); } @Override public FileVisitResult visitFile(Path file,BasicFileAttributes attrs){ find(file); return FileVisitResult.CONTINUE; } @Override public FileVisitResult preVisitDirectory(Path dir,BasicFileAttributes attrs){ find(dir); return FileVisitResult.CONTINUE; } @Override public FileVisitResult visitFileFailed(Path file,IOException e){ System.out.println(e); return FileVisitResult.CONTINUE; } public static void main(String[] args) throws IOException{ if(args.length!=1){ System.out.println("请输入一个文件路径作为参数"); System.exit(-1); } Files.walkFileTree(Paths.get( args[0]), new FileVisitorTest()); } }随便选择一个路径作为参数
java FileVisitorTest "C:\\Program Files\\Java\\jre7\\bin"
运行结果代码
访问-目录:bin 访问-文件:awt.dll 访问-文件:axbridge.dll 访问-目录:client 访问-文件:classes.jsa 访问-文件:jvm.dll 访问-文件:Xusage.txt 访问-文件:dcpr.dll 访问-文件:deploy.dll 访问-文件:deployJava1.dll 访问-文件:dt_shmem.dll 访问-文件:dt_socket.dll ......
注意 FileVisitResult有四种
CONTINUE -继续
TERMINATE -终止,这次遍历结束了
SKIP_SUBTREE -子树(当前路径的子目录)不再遍历了
SKIP_SIBLINGS -兄弟节点(同级别目录)不再访问了。
可以通过这些返回值来控制遍历文件树的流程
以上是"JDK7新特性之遍历文件树的示例分析"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
文件
方法
路径
目录
特性
示例
分析
代码
兴趣
内容
参数
文件夹
篇文章
节点
选择
价值
例子
信息
兄弟
只需
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
智慧云平台投标客户端服务器地址
广播电视台网络安全生产总结
移动接入点服务器和端口
企业信息网络安全监管体系
华山论剑网络安全线上峰会
linux服务器测试网络io
菏泽智慧社区软件开发专业制作
戴尔服务器部署指南
安卓http服务器搭建
2018网络安全事件
网络安全大赛湖北
太极股份 网络安全
电脑服务器和笔记本有什么关系
荒野乱斗4399服务器
元神手机端怎么换服务器
日照网络安全案例
vps数据库地址
冠县网络技术培训
招聘福州居家办公软件开发
孚能科技工业互联网
六盘水市网络安全宣传周
注册表编辑器数据库
服务器共享管理软件
虹口区常规软件开发定制平均价格
打游戏跑错服务器了
网络安全手抄报大全大一
广州同林网络技术有限公司
中科曙光计算机网络安全
客户进程与服务器进程是什么
中经名气网络安全等级保护培训