gpt4 book ai didi

java - 在Java中复制目录

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:29:29 26 4
gpt4 key购买 nike

基本阅读this教程,我遇到了一些解释如何使用 REPLACE_EXISTING StandardCopyOption 的内容。

REPLACE_EXISTING – Performs the copy even when the target file alreadyexists. If the target is a symbolic link, the link itself is copied(and not the target of the link). If the target is a non-emptydirectory, the copy fails with the FileAlreadyExistsExceptionexception.

在我引用的最后一点,它说“如果目标是一个非空目录,复制失败并出现 FileAlreadyExistsException 异常。”实际上我已经尝试过了,它没有给我任何异常,我尝试将一个非空文件夹从一个位置复制到桌面,它成功了,但没有给我理论上我应该得到的 FileAlreadyExistsException。

有规律吗?

最佳答案

试试这个:

创建:

C:\map1\fileA.txt
C:\map2\fileB.txt

移动:

C:\map1 to C:\map2
Files.copy(
(new File("C:\map1")).toPath(),
(new File("C:\map2")).toPath(),
StandardCopyOption.REPLACE_EXISTING);

这导致:

C:\map1\fileA.txt
C:\map2\fileB.txt

为什么?

“目录可以复制,但目录内的文件不会被复制,所以即使原目录有文件,新目录也是空的。”

如您的推荐人所述。

DirectoryNotEmptyException - 指定了 REPLACE_EXISTING 选项但无法替换文件,因为它是一个非空目录(可选的特定异常)

FileAlreadyExistsException - 如果目标文件存在但由于未指定 REPLACE_EXISTING 选项而无法替换(可选的特定异常)

Source.

关于java - 在Java中复制目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16339843/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com