JDK7新特性之遍历文件树的示例分析
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍JDK7新特性之遍历文件树的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!有时需要递归遍历一个文件树,比如查找一个文件夹内符合条件的文件,查找某一天创建
千家信息网最后更新 2026年11月02日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安全错误
数据库的锁怎样保障安全
互联网金融科技
互联网加科技
互联网佳科技有限公司
互联网科技会
互联网公司 科技公司
互联网金融与金融科技
美国互联网科技
互联网科技有限公司 翻译
科技类的互联网平台
海南科技产业互联网平台
江苏南京365互联网科技
中国科技创新与世界互联网大会
美国互联网科技实力
北京市互联网新科技
广州千川互联网科技有限公司
互联网领先科技宣传片
山东大美朱楼互联网科技有限公司
互联网界的黑科技
互联网的科技体现在哪里
山东蛋芒互联网科技有限公司
深圳恒合互联网络科技有限公司
互联网科技公司的优势
科技股互联网
奇酷互联网络科技公司
无线互联网科技
互联网科技的未来发展
互联网科技公司招聘
恒银科技与互联网金融
互联网公司黑科技创始人
青岛互联网科技园