JDK7新特性之遍历文件树的示例分析
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章主要介绍JDK7新特性之遍历文件树的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!有时需要递归遍历一个文件树,比如查找一个文件夹内符合条件的文件,查找某一天创建
千家信息网最后更新 2025年01月19日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安全错误
数据库的锁怎样保障安全
asp是一个文科性质的数据库吗
山西互联网科技企业
it行业软件开发投标文件
天津软件开发哪家不错
MES软件开发工程师怎么样
网络安全不规范表述的行为
浙江企符号网络技术怎么样
斐讯网络安全密钥忘了
数据库的版权
上海的游戏软件开发公司
数据库怎样去除重复行
智能融媒体网络技术
无领导小组面试5G网络安全
《数据库技术》考核作业
移动软件开发工程师一个月多少
camelot服务器
数据库表格怎么查看
数据库最常用的连接
六十六公里网络技术公司
网络安全密匙在哪看
数据库定义default
ios 上传音频到服务器
超思维科石油软件开发
电力信息网络安全检测规定
酉阳 网络安全
服务器响应005
淄博市2021年网络安全周
校园网络安全教育 案例
数据库创建数据分析模型
关于网络安全的素材