下面的程序会在标准输入上写入每个字符,但仅在新行被写入后才打印(至少在我的系统上如此!)。
public class Test {
public static void main(String[] args) throws java.io.IOException {
int c;
while ((c = System.in.read()) != -1)
System.out.print((char) c);
}
}
这样做可以防止人们编写诸如“按任意键继续”的内容,强制使用类似“按回车键继续”的形式。
- 这背后的原因是什么?
- 这是Java的限制吗?
- 这种行为是否取决于系统(我使用Ubuntu)?在Mac和Windows上如何工作?
- 这取决于我运行应用程序的特定终端吗?(对我来说,无论是在Eclipse中还是在gnome-terminal中都是这样的)
- 有没有解决方法?