1

通过阅读教程,我遇到了这部分对我来说不是很清楚。

可以移动空目录。如果目录不为空,则当目录可以移动而不移动该目录的内容时,允许移动。

我显然完全理解可以移动空目录。然而,引文的第二部分在我看来有点令人困惑。任何人都可以用其他语言表达相同的概念吗?提前致谢。

4

2 回答 2

4

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

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

于 2013-05-02T15:01:48.470 回答
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 实用程序方法来完成。

于 2013-05-02T15:04:14.967 回答