我試圖讓這段代碼工作。這是一個基本的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