Java 将目录中的所有文件复制到另一个目录不起作用

Java 将目录中的所有文件复制到另一个目录不起作用,java,file,io,Java,File,Io,公开课考试{ private static void copyGABuild(){ try { String loc = "C:\\Users\\KAG\\Desktop\\\\test"; Files.copy(Paths.get(loc), Paths.get("C:\\Users\\KAG\\Desktop")); } catch (IOException e) {

公开课考试{

private static void copyGABuild(){
     try {
         String loc = "C:\\Users\\KAG\\Desktop\\\\test";
         
         Files.copy(Paths.get(loc), Paths.get("C:\\Users\\KAG\\Desktop"));
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

public static void main(String[] args) {
    
    
    copyGABuild();
}

我收到此错误“java.nio.file.FileAlreadyExistsException”C:\Users\KAG\Desktop

我不想用FileUtils来复制,有没有什么方法可以用FileUtils来实现呢。 目录C:\Users\KAG\Desktop中没有文件。但是它仍然表示FileAlreadyExistsException

根据link,copy方法接受一个REPLACE\u现有参数,这就解决了您的问题

您可以按如下方式实现此功能:

Files.copy(Paths.get(loc), Paths.get("C:\\Users\\KAG\\Desktop"), StandardCopyOption.REPLACE_EXISTING)
试试看

编辑:

见:

REPLACE_EXISTING–即使目标文件已存在,也会执行复制。如果目标是符号链接,则复制链接本身(而不是链接的目标)。如果目标是非空目录,则复制将失败,并出现FileReadyExistsException异常


如果是这样的话,我为你的问题留下了评论。祝你好运

问题在于
文件.copy
的指定尽可能明确。 因此,您需要指定要创建/覆盖的目标

对于以下文件:

Files.copy(Paths.get(loc), Paths.get("C:\\Users\\KAG\\Desktop\\test"));
错误:复制目录时没有内容!Javadoc:

如果文件是一个目录,那么它会在目标位置创建一个空目录

此方法可与walkFileTree方法一起用于复制目录和目录中的所有条目,或在需要时复制整个文件树


然而,
文件
也有用于目录遍历的流方法。注意创建子目录的目录。

在C:\Users\KAG\Desktop中没有文件,但它仍然说文件存在是C:\Users\KAG\Desktop empty?,如果是,您可以在其中创建一个虚拟文件,然后重新运行代码吗?现在运行成功了吗?