zoukankan      html  css  js  c++  java
  • 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文件
    --已经找到目标文件--
    

      

  • 相关阅读:
    【linux基础】usleep和sleep的区别
    【算法基础】opencv函数approxPolyDP和Ramer-Douglas-Peucker Algorithm
    【算法基础】散点轮廓算法-Alpha Shapes
    【图像处理算法基础】图像分割经典算法-泛洪算法FloodFill
    .net core 部署在Linux系统上运行的环境搭建
    Linux部署Net Core网站,三种自定义绑定端口号的方法(UseUrls,UseKestrel,手动指定)
    .NetCore部署Linux环境搭建
    .Net Core 项目发布到Linux
    .Net Core 项目发布到Linux
    Linux桌面操作系统排行榜
  • 原文地址:https://www.cnblogs.com/lianghong881018/p/11307949.html
Copyright © 2011-2022 走看看