2017-12-05 17 views
3

Javaのある場所から別の場所にフォルダ/ファイルをコピーしようとしています。私はJavaの初心者ですが、ちょっとしたライブラリが必要でした。私はApache FileUtilsと呼ばれていると思います。FileUtils.CopyDirectory()メソッドを使用すると、ある宛先から別の宛先にフォルダをコピーする必要があります。しかし、私のためには、それはフォルダ自体の中にあるものだけをコピーします。ディレクトリをコピーしてもソースフォルダがコピーされないJava

else if (command.equals("COPY")){ 
     System.out.println("Enter the path of the file/folder you wish to copy : "); 
     Scanner scannerPath = new Scanner(System.in); 
     path = scannerPath.nextLine(); 
     File copiedFolder = new File(path); 
     System.out.println("Enter the path where you want to copy the file/folder: "); 
     String newpath = scannerPath.nextLine(); 
     File copyFolder = new File(newpath); 
     if (copiedFolder.isDirectory() && copiedFolder.exists()) 
     { 

      FileUtils.copyDirectory(copiedFolder, copyFolder); 
      System.out.println("Copy successful !"); 
     } 
     else if (copiedFolder.isFile()) 
     { 

      FileUtils.copyFile(copiedFolder, copyFolder); 
      System.out.println("Copy successful !"); 
     } 
     else { 
      System.out.println("Copy failed. Check if the file/folder exists !"); 
     } 

ディレクトリ全体をコピーする必要がありますが、何らかの理由でそれが動作しません。 copyDirectoryのドキュメントから

答えて

0

先がディレクトリの新しい場所と名前です。

先のディレクトリが存在しなかった場合、このメソッドは、ソースが優先さを取って、送信先との ソースをマージします。

したがって、基本的にターゲットディレクトリは、ソースディレクトリのコピーを表します。

あなたは次のように、パスに必要な名前のサブディレクトリを追加することを検討可能性があります

File copyFolder = new File(newpath + File.separator + copiedFolder.getName()); 
+1

これは私の問題を解決しました。どうもありがとうございました ! –

関連する問題