首页主机资讯Java如何实现文件夹复制

Java如何实现文件夹复制

时间2024-05-29 06:36:03发布访客分类主机资讯浏览415
导读:在Java中,可以使用Files类的copy方法来实现文件夹的复制。以下是一个简单的示例: import java.io.IOException; import java.nio.file.FileVisitOption; import j...

在Java中,可以使用Files类的copy方法来实现文件夹的复制。以下是一个简单的示例:

import java.io.IOException;
    
import java.nio.file.FileVisitOption;
    
import java.nio.file.FileVisitResult;
    
import java.nio.file.Files;
    
import java.nio.file.Path;
    
import java.nio.file.Paths;
    
import java.nio.file.SimpleFileVisitor;
    
import java.nio.file.StandardCopyOption;
    
import java.nio.file.attribute.BasicFileAttributes;
    
import java.util.EnumSet;


public class FolderCopyExample {


    public static void main(String[] args) {
    
        Path source = Paths.get("sourceFolder");
    
        Path target = Paths.get("targetFolder");


        try {
    
            Files.walkFileTree(source, EnumSet.of(FileVisitOption.FOLLOW_LINKS), Integer.MAX_VALUE,
                    new SimpleFileVisitorPath>
() {

                        @Override
                        public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException {
    
                            Path targetDir = target.resolve(source.relativize(dir));

                            if (!Files.exists(targetDir)) {
    
                                Files.createDirectory(targetDir);

                            }
    
                            return FileVisitResult.CONTINUE;

                        }


                        @Override
                        public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
    
                            Files.copy(file, target.resolve(source.relativize(file)), StandardCopyOption.REPLACE_EXISTING);
    
                            return FileVisitResult.CONTINUE;

                        }

                    }
    );

        }
 catch (IOException e) {
    
            e.printStackTrace();

        }

    }

}
    

在这个示例中,我们首先指定源文件夹和目标文件夹的路径,然后使用Files.walkFileTree方法遍历源文件夹中的所有文件和子文件夹。在遍历过程中,我们使用SimpleFileVisitor的preVisitDirectory方法在目标文件夹中创建对应的子文件夹,然后使用visitFile方法将文件复制到目标文件夹中。最后,我们使用StandardCopyOption.REPLACE_EXISTING选项来指定如果目标文件已经存在,就替换它。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Java如何实现文件夹复制
本文地址: https://pptw.com/jishu/670451.html
SQL中distinct的使用方法是什么 java如何删除指定文件夹

游客 回复需填写必要信息