如何在Java中将文件从一个位置移动到另一个位置?

2022-08-31 09:05:23

如何将文件从一个位置移动到另一个位置?当我运行程序时,在该位置创建的任何文件都会自动移动到指定的位置。如何知道移动了哪个文件?


答案 1
myFile.renameTo(new File("/the/new/place/newName.file"));

File#renameTo可以做到这一点(它不仅可以重命名,还可以在目录之间移动,至少在同一文件系统上)。

重命名由此抽象路径名表示的文件。

此方法行为的许多方面本质上都依赖于平台:重命名操作可能无法将文件从一个文件系统移动到另一个文件系统,它可能不是原子的,并且如果目标抽象路径名已存在,则它可能不会成功。应始终检查返回值,以确保重命名操作成功。

如果您需要更全面的解决方案(例如想要在磁盘之间移动文件),请查看Apache Commons FileUtils#moveFile


答案 2

在 Java 7 或更高版本中,您可以使用 .Files.move(from, to, CopyOption... options)

例如:

Files.move(Paths.get("/foo.txt"), Paths.get("bar.txt"), StandardCopyOption.REPLACE_EXISTING);

有关更多详细信息,请参阅文件文档