1
我跑到下面的例子:为什么不的BufferedReader缓冲输入?
public static void main(String[] args) throws IOException{
Reader reader = new BufferedReader(new InputStreamReader(System.in));
int character;
do{
character = reader.read();
System.out.println(character);
} while(character != '\n');
}
,并通过实际的行为混淆。我以为BufferedReader中的默认缓冲区大小足以容纳超过1个字符以上。
但是,当我进入
a__NEW_LINE__
它会导致新的生产线一起被打印的字符。为什么?我预计缓冲区未满,因此应该没有输出。
重复的问题。检查[这个答案](http://stackoverflow.com/questions/4007534/why-cant-we-read-one-character-at-a-time-from-system-in)。 –