2017-07-11 19 views
1

フォルダ間で1つのファイルを移動しようとしています。ファイルを移動するにはfile.renameTo()を使用します。既に移動したファイルを新しいディレクトリに移動する方法

//moving the file to new folder 
//this is success 
boolean fileMoveCompleted = finalFileToProcess 
         .renameTo(new File(processingFolderName 
           + File.separator + finalFileToProcess.getName())); 

//now trying to move the renamed file to another folder 
//this is failing 
fileMoveCompleted = finalFileToProcess 
           .renameTo(new File(successFolderName 
             + File.separator 
             + finalFileToProcess.getName())); 

最初のrenameToの後も、ファイルパスは古いパスを指しています。同じファイルを別のディレクトリに移動する方法はありますか?

答えて

1

renameToの最初のターゲットファイルを参照として保持し、その名前を変更する必要があります。

File processing = new File(processingFolderName 
         + File.separator 
         + finalFileToProcess.getName()); 
boolean fileMoveCompleted = finalFileToProcess.renameTo(processing); 
File finished = new File(successFolderName 
         + File.separator 
         + finalFileToProcess.getName()); 
fileMoveCompleted = processing.renameTo(finished); 

しかしFile.renameTo's JavaDocが示唆するように、あなたはより良いFiles.moveを使用する必要があります。

関連する問題