移动文件或目录
您可以使用移动(路径,路径,CopyOption ...)方法移动文件或目录。如果目标文件存在,则移动失败,除非指定了REPLACE_EXISTING
选项。
空目录可以移动。如果目录不为空,则可以在不移动目录内容的情况下移动目录时允许移动。在 UNIX 系统上,在同一分区内移动目录通常包括重命名目录。在这种情况下,即使目录包含文件,此方法也可以使用。
此方法采用 varargs 参数-支持以下StandardCopyOption
枚举:
-
REPLACE_EXISTING
–即使目标文件已存在也执行移动。如果目标是符号链接,则将替换符号链接,但是它所指向的内容不受影响。 -
ATOMIC_MOVE
–将移动作为原子文件操作执行。如果文件系统不支持原子移动,则会引发异常。使用ATOMIC_MOVE
,您可以将文件移动到目录中,并确保监视目录的所有进程都可以访问完整的文件。
下面显示了如何使用move
方法:
import static java.nio.file.StandardCopyOption.*;
...
Files.move(source, target, REPLACE_EXISTING);
尽管您可以如图所示在单个目录上实现move
方法,但该方法最常与文件树递归机制一起使用。有关更多信息,请参见走文件树。