Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 389|回复: 0

[JavaIO学习]Java7中遍历文件夹的新方法

[复制链接]
  • TA的每日心情
    开心
    2021-3-12 23:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2014-11-3 23:58:28 | 显示全部楼层 |阅读模式
    这次是使用java7提供的新的方法遍历文件夹。 static Path 上面方法需要FileVisitor参数,FileVisitor代表一个文件访问器,walkFileTree()方法会自动遍历start路径下的
    所有文件和子目录,遍历文件和子目录都会触发FileVisitor中相应的方法。这四个方法在下面的代码中出现。 FileVisitor中的四个方法会返回一个FileVisitorResult,它代是一个枚举类,代表访问之后的行为。 FileVisitor定义了如下几种行为: CONTINUE:代表访问之后的继续行为 SKIP_SIBLINGS:代表继续访问,但不访问该文件或目录的兄弟文件或目录 SKIP_SUBTREE:继续访问,但不访问该目录或文件的子目录 TERMINATE:终止访问
    1. import java.io.IOException;   
    2. import java.nio.ByteBuffer;   
    3. import java.nio.CharBuffer;   
    4. import java.nio.charset.Charset;   
    5. import java.nio.charset.CharsetDecoder;   
    6. import java.nio.charset.CharsetEncoder;   
    7. import java.nio.file.FileVisitResult;   
    8. import java.nio.file.FileVisitor;   
    9. import java.nio.file.Files;   
    10. import java.nio.file.Paths;   
    11. import java.nio.file.attribute.BasicFileAttributes;   
    12. public class Test {   
    13.     public static void main(String[] args) throws Exception   
    14.     {   
    15.            
    16.         Files.walkFileTree(Paths.get("D:","java"), new FileVisitor(){   
    17.    
    18.             @Override   
    19.             public FileVisitResult preVisitDirectory(Object dir,   
    20.                     BasicFileAttributes attrs) throws IOException {   
    21.                 //访问文件夹之前调用   
    22.                 System.out.println(dir);   
    23.                 return FileVisitResult.CONTINUE;   
    24.             }   
    25.    
    26.             @Override   
    27.             public FileVisitResult visitFile(Object file,   
    28.                     BasicFileAttributes attrs) throws IOException {   
    29.                 // 访问文件调用   
    30.                 System.out.println(file);   
    31.                 return FileVisitResult.CONTINUE;   
    32.             }   
    33.    
    34.             @Override   
    35.             public FileVisitResult visitFileFailed(Object file, IOException exc)   
    36.                     throws IOException {   
    37.                 // 访问文件失败时调用   
    38.                 return FileVisitResult.CONTINUE;   
    39.             }   
    40.    
    41.             @Override   
    42.             public FileVisitResult postVisitDirectory(Object dir,   
    43.                     IOException exc) throws IOException {   
    44.                 // 访问文件夹之后调用   
    45.                 return FileVisitResult.CONTINUE;   
    46.             }   
    47.                
    48.         });   
    49.     }   
    50. }  
    复制代码


      


    源码下载:http://file.javaxxz.com/2014/11/3/235828656.zip
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2025-2-25 14:01 , Processed in 0.292862 second(s), 34 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表