Java 试图复制exe时,FileUtils.copyFile()会使程序崩溃

Java 试图复制exe时,FileUtils.copyFile()会使程序崩溃,java,fileutils,Java,Fileutils,我已经尝试了很多不同的选项来复制Java文件,但都没有成功。当我发现真正的问题时,我使用的是FileUtils。这是密码 public void createUSBButtonAction() throws IOException { for(Object obj: programList.getItems()){ File src = new File("C:\\Users\\JohnsonL\\Des

我已经尝试了很多不同的选项来复制Java文件,但都没有成功。当我发现真正的问题时,我使用的是FileUtils。这是密码

        public void createUSBButtonAction() throws IOException {

                for(Object obj: programList.getItems()){

                    File src = new File("C:\\Users\\JohnsonL\\Desktop\\flashTranserProj\\flashTransferProj\\src\\sample\\Installers\\" + obj.toString());
                    File dst = new File("D:/Test/" + obj.toString());
                    System.out.println(dst.getUsableSpace());
                    FileUtils.copyFile(src, dst);
            }
在我复制exe文件之前,它工作正常。当我这样做的时候,程序停止响应,一个提示出现,说JDK停止工作,没有给我任何错误


如果我必须切换到另一种形式的复制文件,我会,但我想坚持使用FileUtils,这很可能是由于您的操作系统导致的,因为您使用的是Windows。可能是防病毒或系统策略阻止将可执行文件复制到
D:\
路径


FileUtils.copyFile()
只是一种复制操作,通常在后台使用
FileChannel
。它不会根据文件的扩展名或类型对文件进行不同的处理,因为它只读取和写入字节。

文件复制花费的时间太长,因此它会停止程序的其余部分来复制文件。我通过在另一个线程上复制文件解决了此问题。

可能是您的AV干扰了复制。请执行适当的异常处理,然后查看出现的错误。为什么我们要在将文件复制到目标位置之前执行dst.getUsableSpace()?很抱歉,dst.getUsableSpace()是以前的版本。如果JVM崩溃,应该有一个崩溃/转储文件供您调查。