关闭BufferedReader和System.in

Bog*_*omi 6 java input system.in bufferedreader

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);
Run Code Online (Sandbox Code Playgroud)

我注意到,如果我关闭BufferedReader,我将无法再从键盘插入输入,因为System.in某种程度上是关闭的.无论如何我可以保留br.close()(我需要它来删除文件),然后从键盘添加更多输入?

bma*_*ies 2

看起来你需要:

http://commons.apache.org/io/apidocs/org/apache/commons/io/input/CloseShieldInputStream.html

在创建阅读器之前将其包装在 System.in 周围,然后一切都会好起来,因为当您使用 FileInputStream 时您不会这样做。