【初心者】Java質問・相談スレッド78【大歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0006デフォルトの名無しさん
2005/12/22(木) 13:10:551. ------------------------------------------------------------------------------------------------
FileInputStream fis = new FileInputStream(new File("Input.txt"));
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);
while (br.ready()) {
System.out.println(br.readLine());
}
br.close();
isr.close();
fis.close();
2. ------------------------------------------------------------------------------------------------
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(new File("Input.txt"))));
while (br.ready()) {
System.out.println(br.readLine());
}
br.close();
1.の場合、FileInputStreamもInputStreamReaderもBufferedReaderもclose()処理を入れていますが、
2.のケースですとBufferedReaderのみのclose()処理があります。
個々のインスタンスを作らずにBufferedReaderのコンストラクタの引数に直接new InputStreamReaderやnew FileInputStreamなどを指定する場合、
これに対してのclose()処理はJVMが自動で行なってくれるのでしょうか。
また、それによってメモリの使用状況なども変わってくるのでしょうか。
そこまで大したものを作るわけではないのですが、少し疑問に思ったので質問させていただきました。
■ このスレッドは過去ログ倉庫に格納されています