寫了一個基本的文件處理程序一個Java家庭作業,而當我接到任務後,我有一些注意事項有關未能趕上了幾個例子:Java文件處理,我做錯了什麼?
- 從文件緩衝區可能已空。
- 文件未找到
- 文件流沒有關閉
這裏是用來打開文件的代碼塊:
/**
* Create a Filestream, Buffer, and a String to store the Buffer.
*/
FileInputStream fin = null;
BufferedReader buffRead = null;
String loadedString = null;
/** Try to open the file from user input */
try
{
fin = new FileInputStream(programPath + fileToParse);
buffRead = new BufferedReader(new InputStreamReader(fin));
loadedString = buffRead.readLine();
fin.close();
}
/** Catch the error if we can't open the file */
catch(IOException e)
{
System.err.println("CRITICAL: Unable to open text file!");
System.err.println("Exiting!");
System.exit(-1);
}
了一句話,我從他身上了是fin.close();
需要在finally
塊,我根本沒有。但我認爲我創建try/catch的方式可以防止文件無法打開的問題。
讓我清楚幾件事情:這不是爲了當前的任務(不是試圖讓某人做我自己的工作),我已經創建了我的項目,並對它進行了評分。我自己並沒有完全理解我的教授的推理。最後,我沒有太多的Java經驗,所以我有點困惑爲什麼我的catch
不夠好。
雖然在一個長時間運行的程序中關閉系統資源是非常重要的(當然這是很好的做法),如果你打算在yo中調用'System.exit',是否關閉文件是一個有爭議的問題你的catch塊。 – jasonmp85 2010-05-27 18:57:03
@ jasonmp85這就是我的想法,但是它看起來好像他希望我們把它標記爲好像它會一直在運行。這對我來說很有意義。 – Urda 2010-05-27 19:36:45