Escape клавиши Backspace Java

Я просто протестировал Escape клавиши Backspace следующим образом:

System.out.println("Hello\b");

Я ожидал получать вывод: Ад
Но это было: "Привет" с квадратным блоком

кто-либо знает как дескриптор Java это?

15
задан Darin Dimitrov 25 July 2010 в 10:27
поделиться

2 ответа

Java вообще не «обрабатывает» этот символ. Все, о чем он знает, - это поток байтов, в который ОС говорит, что может записывать байты, и с радостью записывает в него байты, включая обратное пространство ASCII.

То, что происходит , когда поток получает этот символ, не имеет никакого отношения к Java, он полностью зависит от терминала. Некоторые терминалы стирают предыдущий символ, некоторые отображают символ возврата как какой-то странный глиф или даже как специальный глиф «символ возврата». Некоторые могут полностью отказаться от символа, если не могут его интерпретировать, другие (фактически, большинство эмуляторов терминала) будут вести себя по-разному в зависимости от того, как они настроены. Но все это не имеет ничего общего с Java, они будут вести себя так, независимо от того, написаны ли они Java или Perl print или C ++ cout или чем-то еще.

23
ответ дан 1 December 2019 в 03:13
поделиться

Он должен отлично работать в командной консоли Windows. Эта ошибка распознается как ошибка Eclipse: ошибка 76936 . См. Также Как заставить backspace \ b работать в консоли Eclipse?

2
ответ дан 1 December 2019 в 03:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: