zoukankan      html  css  js  c++  java
  • 基于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();
                }
            }
        }
  • 相关阅读:
    js中细小点
    被 idea 坑了的记录篇
    Spring 读写分离
    Java反射机制
    Spring AOP
    java Beanutils.copyProperties( )用法
    java List 数组删除元素
    java 中序列化(Serializable)
    webpack 入门
    使用zxing生成彩色或带图片的二维码
  • 原文地址:https://www.cnblogs.com/Deters/p/11595624.html
Copyright © 2011-2022 走看看