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文件
    --已经找到目标文件--
    

      

  • 相关阅读:
    LG3626 [APIO2009]会议中心(倍增+树状数组)
    LG3624 [APIO2008]DNA(DP+前缀和)
    CF1516C
    PKUSC2021 口胡题解
    THUSC2021 Day1口胡题解
    2021.4
    2021.3
    2021 暑假 sxyz 集训做题记录
    【做题记录】CF746F Music in Car
    KMP
  • 原文地址:https://www.cnblogs.com/lianghong881018/p/11307949.html
Copyright © 2011-2022 走看看