我遇到了关于 System.in.read() 的问题。我想打印粘贴到控制台的所有内容。我的代码如下所示:
import java.io.IOException;
public class printer {
public static void main(String[ ] args) {
int i;
try {
while ((i = System.in.read()) != -1) {
char c = (char)i;
System.out.print(c);
}
}
catch (IOException e) {
e.printStackTrace();
}
}
}
问题是,例如,如果您将三行粘贴到控制台中,程序将打印前两行,而不是第三行。这是为什么?如果我按回车键,它会打印第三个,但第二行和第三行之间有很大的空间。
我还尝试将每个字符存储在一个字符串中,然后在循环之后打印整个字符串,但循环永远不会结束。他们是停止这个特定循环的一种方法吗(我不知道用户将粘贴多少行)