• java文件夹复制实例


    java基础之-如何复制目录

    在此示例中,我将d:file下的所有子目录和文件复制到新位置d: emp。如果要将目录及其包含的所有子文件夹和文件从一个位置复制到另一个位置,请使用下面的代码,该代码使用递归遍历目录结构,然后使用Files.copy()函数复制文件。

     public static void main(String[] args) {
    
            //源目录D:file
            File sourceFolder = new File("d:\file");
    
            //目标目录D:	emp
            File destinationFolder = new File("d:\temp");
    
            //调用复制
            copyFolder(sourceFolder, destinationFolder);
    
        }
        private static void copyFolder(File sourceFolder, File destinationFolder) throws IOException
        {
            //Check if sourceFolder is a directory or file
            //If sourceFolder is file; then copy the file directly to new location
            if (sourceFolder.isDirectory())
            {
                //Verify if destinationFolder is already present; If not then create it
                if (!destinationFolder.exists())
                {
                    destinationFolder.mkdir();
                    System.out.println("Directory created :: " + destinationFolder);
                }
    
                //Get all files from source directory
                String[] files = sourceFolder.list()
    
                //Iterate over all files and copy them to destinationFolder one by one
                for (String file : files)
                {
                    File srcFile = new File(sourceFolder, file);
                    File destFile = new File(destinationFolder, file);
    
                    //递归调用复制子目录
                    copyFolder(srcFile, destFile);
                }
            }
            else
            {
                //使用文件复制工具进行复制
                Files.copy(sourceFolder.toPath(), destinationFolder.toPath(), StandardCopyOption.REPLACE_EXISTING);
                System.out.println("File copied :: " + destinationFolder);
            }
        }

    结果如下:

    提示:使用Files.copy()方法,可以复制目录。 但是,目录内的文件不会被复制,因此即使原始目录包含文件,新目录也为空。
    同样,如果目标文件存在,则复制将失败,除非指定了REPLACE_EXISTING选项。

  • 相关阅读:
    CobaltStrike上线Linux主机(CrossC2)
    Active-Directory活动目录备忘录
    CVE-2020-5902 F5 BIG-IP 远程代码执行漏洞复现
    SSTI-服务端模板注入漏洞
    powershell代码混淆绕过
    绕过PowerShell执行策略方法
    "dpkg: 处理归档 /var/cache/apt/archives/libjs-jquery_3.5.1+dfsg-4_all.deb (--unpack)时出错"的解决方法
    firda安装和使用
    内网渗透-跨域攻击
    Web-Security-Learning
  • 原文地址:https://www.cnblogs.com/JonaLin/p/12448470.html
Copyright © 2020-2023  润新知