ITコンサルの日常

ITコンサル会社に勤務する普通のITエンジニアの日常です。

System.in / System.out / System.errをクローズしてみる。

別に意味はないのですが、Javaでも出来そうだと思ったので。

public class opentest
{
                public static void main(String[] args) throws Exception
                {
                                System.in.close();
                                System.out.close();
                                System.err.close();

                                System.in.read();
                                System.out.println("Hello, World!!");
                                System.err.println("Hello, World!!");
                }
}

結果は入力待ちにもならず、何も出力されず、プログラムが終わります。
コマンドプロンプトで実行したのですが、%ERRORLEVEL% (Cシェル系列でいうところの$status, Bシェル系列でいうところの$?)が1だったので、例外までは起きないものの、なんらかのエラー扱いになっているのかも知れません。