Java の宿題の基本的なファイル ハンドラーを作成しました。割り当てが戻ってきたとき、いくつかのインスタンスをキャッチできなかったというメモがいくつかありました。
- ファイルからのバッファが null である可能性があります。
- ファイルが見つかりませんでした
- ファイル ストリームが閉じられませんでした
ファイルを開くために使用されるコードのブロックは次のとおりです。
/**
* 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 の経験があまりないので、なぜ自分の Java がcatch
不十分なのか少し混乱しました。