Reader rdr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(rdr);
String s;
s = br.readLine();
br.close();
Scanner sc = new Scanner(System.in);
s = sc.nextLine();
System.out.print(s);
私はBufferedReader
を閉じた場合System.in
が何とか閉じているとして、私は、もう、キーボードからの入力を挿入することができませんことに気付きました。とにかく私はbr.close()
(私はファイルを削除するために必要です)を保つことができますし、キーボードからの入力を追加しますか?閉じるBufferedReaderのとSystem.in
どのファイルを削除しますか? BufferedReaderは、特定の入力ストリームにバインドされることを意図しています。一旦それらを閉じると、それらを再利用することはできません。 – soulcheck
ファイルを削除するために本当に* brを閉じる必要はありません。 –
ファイルから読み込み、ある時点で 'BufferedReader'を使用して、' BufferedReader'を閉じて、ファイルストリームからより多くを読み込むと、いくつかのバイトが見付かりません。これらのバイトはバッファされたリーダーによって消費されます(バッファするため)。別の方法を見つける必要があります。 なぜReaderサブクラスからスキャナに移動する必要がありますか?いくつかのAPIの制限?どちらの場合でも、例えば、RandomAccessFileやカスタムのScannerサブクラスを使用するなど、Readerのやり方を変えるなど、さまざまなことができます。 –