Java中的Files.move(Path,Path)

时间:2013-05-02 14:58:40

标签: java filesystems move

通过阅读this教程,我发现这部分对我来说并不十分清楚。

  

可以移动空目录。如果目录不为空,则   在不移动目录的情况下移动目录时允许移动   该目录的内容。

我显然完全明白可以移动空目录。然而引用的第二部分在我看来有点令人困惑。换句话说,任何人都可以表达相同的概念吗?提前谢谢。

2 个答案:

答案 0 :(得分:4)

  

在UNIX系统上,移动同一分区中的目录通常包括重命名目录。在这种情况下,即使目录包含文件,此方法仍然有效。

这实际上是您发布的链接中的下一句话,它提供了即使目录不为空也可以使用move的示例。

答案 1 :(得分:1)

查看教程中链接的Javadoc:

http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html#move%28java.nio.file.Path,%20java.nio.file.Path,%20java.nio.file.CopyOption...%29

  

[...]例如,重命名同一个FileStore上的目录   通常不需要移动目录中的条目。搬家的时候   目录要求移动其条目然后此方法失败   (通过抛出IOException)。移动文件树可能涉及复制   而不是移动目录,这可以使用副本完成   方法与Files.walkFileTree实用程序方法结合使用。