我试图让这段代码工作。这是一个基本的I/O系统,它复制一个文件并将其粘贴到具有所选名称的相同目录中。它应该很简单,但由于某种原因该程序运行,它创建第二个文件,但然后它卡住了。 Java进程的CPU占用大约5%,文件从未完成。它只复制了一些数据,然后我想它会陷入某个无限循环。I/O不工作(复制文件,粘贴它)
我已经将我的代码与the Oracle website上的Byte Streams教程进行了比较。
另外:我只是要求它输出它正在读取的内容,它被卡在一个无限循环上,读取值为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);
}
}
}
}
在我的程序主I类运行此:
fileUtil.copyFileTo("google.bmp", "google(1).bmp");
没有工作抱歉。没有可观察到的差异,我在fin.close()之后添加它 – Phazor 2013-03-21 22:11:20