簡體   English   中英

如何將目錄文件夾復制到java中指定文件夾以外的子目錄中?

[英]How to Copy directory folder to with in sub directory except specified folder in java?

我想使用 java 將父文件夾子文件夾移動到另一個父子文件夾,下面是文件夾結構。

Source Dir : C:\Users\xxxxx\git\project\Parent
Desctinaton Dir: C:\Users\xxxxx\git\project\Parent\oldParent

Parent
       oldParent
Subdolder1
Subfolder2

現在我想將 Subfolder1,2 移動到 oldParent 文件夾中。我正在使用下面的代碼來移動,但它不起作用

import org.apache.commons.io.FileUtils;
    public static void move(File sourceDir,File destinationDir){
            
            try {
               // FileUtils.copyDirectory(sourceDir, destinationDir);
                FileUtils.moveDirectory(sourceDir, destinationDir);
            } catch (IOException e) {
                e.printStackTrace();
            }
            
        }

例外:

org.apache.commons.io.FileExistsException: Destination C:\Users\xxxxx\git\project\Parent\oldParent already exists

我修改了一點代碼,只是在移動文件后添加,而不是刪除文件,然后我使用了下面的代碼,現在它正在移動文件夾並在移動后刪除文件夾。

import org.apache.commons.io.FileUtils;
 public static void moveDirectory(File sourceDir, File destinationDir) throws IOException {
        FileUtils.copyDirectory(sourceDir, destinationDir);

try {

            File directory = new File(sourceDir);
            File[] subdirs = directory.listFiles((FileFilter) DirectoryFileFilter.DIRECTORY);
            for (File dir : subdirs) {
                // System.out.println("Directory: " + dir.getName());
                String name = dir.getName();
                if (!name.equalsIgnoreCase(folderName)) {
                    FileUtils.forceDelete(new File(folderPath + name));
                }
            }

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM