В платформе Java XShell backspace отображается как ^H, а Delete - как ^[[3~
Я пытаюсь ввести пользовательский ввод на Java изнутри платформы XShell. Мне нужно получить ввод как действительное целое число от 0 до 2147483647. Я принимаю ввод с помощью BufferedReader.
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String input;
try {
input = reader.readLine();
} catch(IOException e) {
System.out.print(e)
}
Есть некоторые проблемы, с которыми я сталкиваюсь при вводе данных:-
- Пока набираю ввод, его не видно. Итак, я распечатываю ввод после того, как получил его от пользователя, чтобы пользователь мог видеть то, что он предоставил во вводе.
- Ключи, отличные от буквенно-цифровых, регистрируются как клавиши Control+. Подобно тому, как backspace идет как ^H, удалите как ^[[3~ и клавиши направления как некоторые другие символы. Используя манипуляции со строками, я смог обработать backspace, но обработка всех клавиш кажется громоздким процессом.
Пожалуйста, дайте мне знать, если есть способ лучше!