次のコードでは:
for(int i = 5; i <= 100; i+=5)
{
linearSurprise(i); // Function calling 'System.out.print()'
System.setOut(outStream); // Reassigns the "standard" output stream.
System.out.println("Value of i: " + i); // Outputting the value to the .txt file.
outStream.close(); // 'outStrem' is closed so that when I recall my function, output will
// will be sent to the console and not file.
// After debugging, I notice that nothing is being displayed to either the console or file,
// but everything else is still working fine.
}
関数「linearSurprise」を呼び出しており、その関数でコンソールに情報を出力しています。関数呼び出しが終了したら、'i' の値をテキスト ファイルにリダイレクトします。これはループの最初の反復で機能しますが、「outStream.close()」を呼び出すとすぐに、次の反復 (コンソールまたはファイル) で何も出力が表示されません。なぜこれが起こっているのか誰にも分かりますか?また、この問題の回避策は何ですか?