我有以下代码,第一个分支用于文件读取(适用于任何大小的文件行),但是我对控制台输入进行了相同的尝试,读取块在1024个字符之后。由于除了源流之外没有别的区别,我猜想System.in有一些限制。
你能告诉我在哪里可以换车吗?System.in.内部缓冲区大小?)
谢谢!
if (input != null) {
reader = new MyReader(new BufferedReader(new InputStreamReader(new FileInputStream(input))));
} else {
reader = new MyReader(new BufferedReader(new InputStreamReader(System.in)));
}
也许你可以这样做:
StringBuilder sb = new StringBuilder();
int ch = 0;
while((ch = System.in.read()) != 'n') {
sb.append((char)ch);
}
System.out.println(sb.toString());