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
删除什么文件? BufferedReaders意味着绑定到特定的输入流。一旦你关闭它们,你就不能重用它们。 – soulcheck
你真的*不需要关闭'br'来删除一个文件。 –
如果您正在读取文件,并使用“BufferedReader”达到某一点,然后关闭“BufferedReader”,然后从文件流中读取更多内容,则会丢失一些字节。这些字节被缓冲读取器消耗(为了缓冲)。你需要找到另一种方式。 为什么您需要从Reader子类转到Scanner?一些API限制?无论哪种情况,您都可以采取不同的做法,例如通过使用“RandomAccessFile”和/或自定义的Scanner子类来实现Reader。 –