System.in に影響を与えずに System.in にリンクされたスキャナを閉じる
プログラミングでは、リソースの使用が終了したらリソースを閉じることが良い習慣であると考えられています。これには、標準入力ストリーム (System.in) にリンクされたスキャナーも含まれます。ただし、スキャナを閉じると誤って System.in が閉じられ、問題が発生する可能性があります。
System.in を閉じずにスキャナを閉じることは可能ですか?
はい、あります。これは、System.in に影響を与えずにスキャナーを閉じる方法です。ただし、これは推奨されるアプローチではありません。
推奨されるアプローチ: スキャナを開いたままにする
最も簡単で推奨される解決策は、スキャナを閉じない場合は閉じないことです。 System.in を閉じたいと考えています。理想的には、単一のスキャナー インスタンスを作成し、プログラムの実行中はそれを使用します。
スキャナーを閉じると System.in に影響が出る理由
スキャナーを閉じると、基礎となる入力ストリーム (この場合は System.in) で close() メソッドを呼び出します。入力ストリームを閉じると、それ以上の入力が標準入力から読み取られなくなります。
スキャナを閉じた場合の潜在的な結果
プログラムの設計によっては、スキャナを閉じるとさまざまな影響が生じる可能性があります。結果:
結論
問題を解決する技術的な解決策はありますが、 System.in を閉じずにスキャナーを実行することは、一般的にお勧めできません。推奨されるアプローチは、スキャナーを開いたままにし、プログラムの終了時にスキャナーを閉じることです (特に System.in が継続的な入力に使用されている場合)。
以上がSystem.in に影響を与えずに、System.in にリンクされているスキャナを閉じるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。