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。 –