为什么我不能使用Files.move()在驱动器上移动非空目录?

时间:2016-08-22 21:39:28

标签: java file-io nio2

今天我在一本1z0-809(OCP Java 8)准备书中读到,只有当Files.move()在同一个驱动器上并且移动到非空目录时,它才能应用于非空目录。跨驱动器的-empty目录将抛出NIO.2 DirectoryNotEmptyException。但是在驱动器上移动一个空目录不会。有人可以告诉我为什么吗?

1 个答案:

答案 0 :(得分:2)

我猜赌它与本地人如何移动"有关。作品。

原始"移动"只是更改引擎盖下的文件指针,而移动到新驱动器实际上涉及复制和删除,每个都由于不同的原因而失败,而不是实际的"移动"。作者可能希望您单独执行每个操作,以便在跨驱动器移动时自行处理所述操作。