您当前的位置: 首页 > 

小志的博客

暂无认证

  • 3浏览

    0关注

    1217博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Netty——文件编程(Files类的walkFileTree方法遍历文件夹和文件夹下的文件)

小志的博客 发布时间:2022-07-31 23:01:40 ,浏览量:3

一、walkFileTree方法遍历文件夹和文件夹下的文件
  • 示例代码

    package com.example.nettytest.nio.day2;
    
    import java.io.IOException;
    import java.nio.file.*;
    import java.nio.file.attribute.BasicFileAttributes;
    import java.util.concurrent.atomic.AtomicInteger;
    /**
     * @description:
     * @author: xz
     * @create: 2022-07-31 10:31
     */
    public class TestWalkFileTree {
        public static void main(String[] args) throws IOException {
            foreachDirectory();
        }
        /**
         *遍历件夹和文件夹下的文件
         * */
        private static void foreachDirectory() throws IOException {
            //计数器:文件夹数量
            AtomicInteger dirCount = new AtomicInteger();
            //计数器:文件数量
            AtomicInteger fileCount = new AtomicInteger();
            //walkFileTree遍历文件树
            Files.walkFileTree(Paths.get("D:\\Java\\jdk1.8.0_161"),new SimpleFileVisitor(){
                //重写进入文件夹之前方法
                @Override
                public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException {
                    System.out.println("进入文件夹===>"+dir);
                    dirCount.incrementAndGet();
                    return super.preVisitDirectory(dir, attrs);
                }
    
                //重写遍历文件方法
                @Override
                public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
                    System.out.println("文件路径===>"+file);
                    fileCount.incrementAndGet();
                    return super.visitFile(file, attrs);
                }
            });
            System.out.println("文件夹数量:" +dirCount);
            System.out.println("文件数量:" +fileCount);
        }
    }
    
  • 输出结果如下:

    在这里插入图片描述

关注
打赏
1661269038
查看更多评论
立即登录/注册

微信扫码登录

0.1503s