gpt4 book ai didi

java - I/O 不工作(复制文件,粘贴)

转载 作者:行者123 更新时间:2023-12-01 14:44:52 26 4
gpt4 key购买 nike

我正在尝试让这段代码正常工作。它是一种基本的 I/O 系统,可复制一个文件并将其粘贴到具有所选名称的同一目录中。它应该很简单,但由于某种原因,程序运行时,它创建了第二个文件,但随后卡住了。 Java 进程的 CPU 占用率约为 5%,并且文件从未完成。它只复制一些数据,然后我想它会陷入某个无限循环中。

我已经将我的代码与 the Oracle website 上的字节流教程进行了比较。 .

额外:我只是要求它输出正在读取的内容,但它陷入了无限循环读取值255。如果有帮助的话。另外,我直接从 Oracle 网站编译了代码,它也做了同样的事情。

据我所知,它看起来是一致的。谁能告诉我我做错了什么?谢谢。

(P.S:我使用的是 Eclipse 4.2.0)。

这就是我复制文件的方法:

package fileIO;

import java.io.*;

import system.Debug;

public class fileUtil {

public static void copyFileTo(String file2Copy, String file2Paste) {
FileInputStream fin = null;
FileOutputStream fout = null;

try {
fin = new FileInputStream(file2Copy);
fout = new FileOutputStream(file2Paste);

int aByte;
while ((aByte = fin.read()) != -1) {
fout.write(aByte);
}
} catch (FileNotFoundException e) {
Debug.out("Error: File Not Found: " + file2Copy);
} catch (IOException e) {
Debug.out("Error: File IO Exception Copying: " + file2Copy);
} catch (Exception e) {
Debug.out("Error: General Exception Closing Streams:" + file2Copy);
} finally {
try {
fin.close();
fout.close();
} catch (IOException e) {
Debug.out("Error: File IO Exception Closing Streams: " + file2Copy);
} catch (Exception e) {
Debug.out("Error: General Exception Closing Streams:" + file2Copy);
}
}
}
}

在我的程序主类中,我运行以下命令:

fileUtil.copyFileTo("google.bmp", "google(1).bmp");

最佳答案

在关闭 OutputStream 之前尝试执行 fout.flush()

关于java - I/O 不工作(复制文件,粘贴),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15536389/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com