• learning java FileVisitor 遍丽文件及路径


    import java.io.IOException;
    import java.nio.file.*;
    import java.nio.file.attribute.BasicFileAttributes;
    
    public class FileVisitorTest {
        public static void main(String[] args)
                throws Exception
        {
            // 遍历g:publishcodes15目录下的所有文件和子目录
            Files.walkFileTree(Paths.get("e:", "我的光盘", "codes", "15"),
                    new SimpleFileVisitor<Path>()
                    {
                        // 访问文件时候触发该方法
                        @Override
                        public FileVisitResult visitFile(Path file,
                                                         BasicFileAttributes attrs) throws IOException
                        {
                            System.out.println("正在访问" + file + "文件");
                            // 找到了FileInputStreamTest.java文件
                            if (file.endsWith("FileInputStreamTest.java"))
                            {
                                System.out.println("--已经找到目标文件--");
                                return FileVisitResult.TERMINATE;
                            }
                            return FileVisitResult.CONTINUE;
                        }
                        // 开始访问目录时触发该方法
                        @Override
                        public FileVisitResult preVisitDirectory(Path dir,
                                                                 BasicFileAttributes attrs) throws IOException
                        {
                            System.out.println("正在访问:" + dir + " 路径");
                            return FileVisitResult.CONTINUE;
                        }
                    });
        }
    }

    output:

    正在访问:e:我的光盘codes15 路径
    正在访问:e:我的光盘codes1515.1 路径
    正在访问e:我的光盘codes1515.11546017388045文件
    正在访问e:我的光盘codes1515.1FilenameFilterTest.class文件
    正在访问e:我的光盘codes1515.1FilenameFilterTest.java文件
    正在访问e:我的光盘codes1515.1FileTest.class文件
    正在访问e:我的光盘codes1515.1FileTest.java文件
    正在访问:e:我的光盘codes1515.10 路径
    正在访问e:我的光盘codes1515.10a.txt文件
    正在访问e:我的光盘codes1515.10AttributeViewTest.class文件
    正在访问e:我的光盘codes1515.10AttributeViewTest.java文件
    正在访问e:我的光盘codes1515.10FilesTest.class文件
    正在访问e:我的光盘codes1515.10FilesTest.java文件
    正在访问e:我的光盘codes1515.10FileVisitorTest$1.class文件
    正在访问e:我的光盘codes1515.10FileVisitorTest.class文件
    正在访问e:我的光盘codes1515.10FileVisitorTest.java文件
    正在访问e:我的光盘codes1515.10PathTest.class文件
    正在访问e:我的光盘codes1515.10PathTest.java文件
    正在访问e:我的光盘codes1515.10pome.txt文件
    正在访问e:我的光盘codes1515.10WatchServiceTest.class文件
    正在访问e:我的光盘codes1515.10WatchServiceTest.java文件
    正在访问:e:我的光盘codes1515.3 路径
    正在访问e:我的光盘codes1515.3FileInputStreamTest.class文件
    正在访问e:我的光盘codes1515.3FileInputStreamTest.java文件
    --已经找到目标文件--
    

      

  • 相关阅读:
    【机器学习】:梯度提升决策树(GBDT)
    【推荐系统】:LFM算法解析
    【SQL】:内连接,自然连接
    【SQL】:保留小数点后几位(除法)
    Ubuntu 18.04:磁盘读取性能不佳
    skynet超时机制实现
    关于 Spring Boot 中创建对象的疑虑 → @Bean 与 @Component 同时作用同一个类,会怎么样?
    记录不存在则插入,存在则更新 → MySQL 的实现方式有哪些?
    记一次线上问题 → 对 MySQL 的 ON UPDATE CURRENT_TIMESTAMP 的片面认知
    WebSocket
  • 原文地址:https://www.cnblogs.com/lianghong881018/p/11307949.html
Copyright © 2020-2023  润新知