• 基于NIO2的遍历文件夹简单复制


        public Class CopyAndWrite {
    
            public static final String SOURCES = "D:\sources";
            public static final String TARGET = "D:\target";
    
            public static void main (String[]args) throws IOException {
    
                Path startingDir = Paths.get(SOURCES);
        
                Files.walkFileTree(startingDir, new FindJavaVisitor());
            }
    
            private static class FindJavaVisitor extends SimpleFileVisitor<Path> {
    
                @Override
                public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException {
                    if (!StringUtils.equals(dir.toString(), SOURCES)) {
                        Path targetPath = Paths.get(TARGET + dir.toString().substring(SOURCES.length()));
                        if (!Files.exists(targetPath)) {
                            Files.createDirectory(targetPath);
                        }
                    }
                    return FileVisitResult.CONTINUE;
                }
    
                @Override
                public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
                    Path targetPath = Paths.get(TARGET + file.toString().substring(SOURCES.length()));
                    copyFile(targetPath, Files.readAllBytes(file));
    
                    return FileVisitResult.CONTINUE;
                }
            }
    
            private static void copyFile (Path path,byte[] bytes){
                // write file
                try {
                    Files.write(path, bytes);
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
  • 相关阅读:
    python scrapter
    java Clone
    Burp Suite使用
    Drools 简单应用实例1
    Metasploitable 2 备译
    java drools material
    设计模式之Facade/Adaptor/Proxy示例
    sqlmap example
    Mutillidae setup
    groovy template应用
  • 原文地址:https://www.cnblogs.com/Deters/p/11595624.html
Copyright © 2020-2023  润新知