gpt4 book ai didi

java - 在java中将文件从一个目录复制到另一个目录会抛出NoSuchFileException

转载 作者:行者123 更新时间:2023-12-01 11:40:42 25 4
gpt4 key购买 nike

我有一个字符串哈希集,它们是我想要从工作目录复制到“路径”目录的文件的名称。我发现下面的代码应该可以工作,但是,我收到一个 java.nio.file.NoSuchFileException:/commits/1/hello.txt 异常。

  Hashset<String> stagedQueue = HashSet<String>();
stagedQueue.put("hello.txt");
stagedQueue.put("bye.txt");


String path = "/commits/" + commitID;

for (String file : stagedQueue) {
Files.copy((new File(file).toPath()),
(new File(path + "/" + file).toPath()));

我可以做什么来解决这个问题?我不明白为什么我会遇到这些异常(exception)。请注意,我正在将它们移动到一个空目录中。

最佳答案

不要遍历文件;你使用java.nio.file。

这里的问题是您尝试将初始文件复制到尚不存在的目录中:

String path = "/commits/" + commitID;

首先,这是目标目录,因此将其称为dstdir。然后创建基目录并将文件复制到其中:

final Path basedir = Paths.get("/commits", commitId);

Files.createDirectories(basedir);

for (final String file: baseQueue)
Files.copy(Paths.get(file), basedir.resolve(file));

关于java - 在java中将文件从一个目录复制到另一个目录会抛出NoSuchFileException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29551815/

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