我正在尝试在文件夹之间移动单个文件。我使用 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建议,你最好使用 Files.move .
关于java - 如何将已移动的文件移动到新目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45033093/