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<Path>(){
//重写进入文件夹之前方法
@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);
}
}
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://wwwxz.blog.csdn.net/article/details/126092095
内容来源于网络,如有侵权,请联系作者删除!