Java中的move(Path,Path)

Java中的move(Path,Path),java,filesystems,move,Java,Filesystems,Move,通过阅读教程,我发现这一部分我不太清楚 可以移动空目录。如果目录不是空的,则 当目录可以在不移动目录的情况下移动时,允许移动 该目录的内容 显然,我完全理解空目录是可以移动的。然而,在我看来,引文的第二部分似乎有点混乱。有人能用其他的话表达同样的概念吗?提前谢谢 在UNIX系统上,在同一分区内移动目录通常包括重命名目录。在这种情况下,即使目录中包含文件,此方法也可以工作 这实际上是您发布的链接中的下一句话,它提供了一个即使目录不为空也可以使用move的示例 在UNIX系统上,在同一分区内移动目录

通过阅读教程,我发现这一部分我不太清楚

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

显然,我完全理解空目录是可以移动的。然而,在我看来,引文的第二部分似乎有点混乱。有人能用其他的话表达同样的概念吗?提前谢谢

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

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

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


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

看看教程中链接的Javadoc:

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


查看教程中链接的Javadoc:

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


换句话说,只要重命名目录涉及复制/删除目录内容,就不允许进行移动操作。@Rollerball我不是操作系统专家,如果函数不需要移动文件(例如,如果它可以将文件夹修改为“移动”它),则移动似乎可以正常工作,这是操作系统特有的。我确信这里有人可以告诉你不同的操作系统是如何处理的,换句话说,一旦重命名一个目录涉及复制/删除目录的内容,就不允许移动操作。@Rollerball我不是操作系统专家,如果该功能不必移动文件,移动似乎可以正常工作(例如,如果它可以修改文件夹以“移动”它),这是特定于操作系统的。我相信这里有人可以告诉您不同操作系统如何处理这一点