【发布时间】:2020-02-11 13:10:03
【问题描述】:
我已经尝试了很多不同的选项来复制 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
【问题讨论】:
-
您的 AV 可能会干扰副本。
-
做适当的异常处理,看看你得到了什么错误。为什么我们在将字段复制到目标位置之前执行 dst.getUsableSpace()?
-
抱歉 dst.getUsableSpace() 是之前的东西。它在抛出任何异常之前就崩溃了。
-
如果 JVM 崩溃,应该有一个可以调查的崩溃/转储文件。