Программа, приведенная ниже, печатает каждый символ, написанный на стандартном языке in, но только после написания новой строки (по крайней мере, в моей системе!).
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? Окна
- Зависит ли это от конкретного терминала, в котором я запускаю приложение? (Для меня это ведет себя так в Eclipse и в gnome-Terminal)
- Есть ли обходной путь?