0
    Path src = Paths.get("./resources");
    Path dst = Paths.get("./trash");
    
    try {
        
        DirectoryStream<Path> ds = Files.newDirectoryStream(src);
            
        for(Path fileorDir : ds) {
            System.out.println(fileorDir);
            Files.copy(fileorDir, dst);
        }
    }catch(IOException ioe){
        ioe.printStackTrace();
    }

//我得到的错误是java.nio.file.FileAlreadyExistsException所以据我了解它试图将文件保存到那个确切的位置,而不是里面,如果我改变目的地,我需要以这种方式保存几个文本文件说垃圾/垃圾.txt的地址,它将在那里保存一个名为垃圾.txt的文件。但随后在 for each 的下一个循环中,它会引发“已经存在”异常......

有人可以解释一下我如何将所有 txt 文件从 src 文件夹保存到该文件夹​​中,就像拖放它们一样?

非常感谢

4

1 回答 1

0

您可以在 copy() 中使用 StandardCopyOption.REPLACE_EXISTING 选项,但问题是 dst 不是好路径。例如, ressources/trash.txt 应该复制到垃圾/trash.txt 但 dst 只是 /trash 之类的路径。对不起我的英语,这是我的第一个答案 :) 仁慈点。

于 2022-02-19T15:06:26.433 回答