如何将已移动的文件移动到新目录

How to move an already moved file to new directory

我正在尝试在文件夹之间移动单个文件。我使用 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 之后,文件路径仍然指向旧路径。有什么办法可以将同一个文件移动到另一个目录吗?

您需要保留 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 suggests, you should better use Files.move.