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

标签 java file java-io

我正在尝试在文件夹之间移动单个文件。我使用 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/

相关文章:

java - 随机 2D 城市景观生成器,如何随机生成?

java - 将 Jar 包含在其他提供错误中

java - 将 vaadin 应用程序部署到 tomcat

java - 如何在 Java Swing 中更新 JTextArea?

c++ - 如何从 C++ 中的文件中随机获取信息?

java - 该进程无法访问该文件,因为该文件正在被另一个进程使用

c - 为什么此代码会发出警告 : format '%s' expects type 'char *' but argument 2 has type 'char(*)[11]' ?

java - 更新捆绑的资源文件

java - 使用Java获取不同计算机上的资源

java - Java 中的 Windows 临时文件