FileUtils.copyFile() 在尝试复制 exe 时使程序崩溃
FileUtils.copyFile() crashes the program when trying to copy an exe
我一直在尝试许多不同的选项来复制 Java 中的文件,并且 none 一直有效。当我认为我发现真正的问题时,我使用的是 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
。它不会根据文件的扩展名或类型以不同方式处理文件,因为它只读取和写入字节。
文件复制花费的时间太长,因此它停止了程序的其余部分来复制文件。我通过将文件复制到另一个线程来修复此问题。
我一直在尝试许多不同的选项来复制 Java 中的文件,并且 none 一直有效。当我认为我发现真正的问题时,我使用的是 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
。它不会根据文件的扩展名或类型以不同方式处理文件,因为它只读取和写入字节。
文件复制花费的时间太长,因此它停止了程序的其余部分来复制文件。我通过将文件复制到另一个线程来修复此问题。