Я могу найти консоль width с Java?

Некоторые операционные системы (как z/OS) производят "файл стороны", который содержит отладочные символы. Это помогает постараться не чрезмерно увеличивать размер исполняемого файла с дополнительной информацией.

35
задан masher 17 August 2009 в 06:36
поделиться

2 ответа

Не существует надежных кроссплатформенных решений этой проблемы. Действительно, бывают ситуации, когда невозможно узнать реальную ширину консоли.

Например, в системе Linux условные размеры терминала обычно можно узнать из переменных среды LINES и COLUMNS. Хотя эти переменные автоматически обновляются при изменении размера некоторых окон «эмулятора терминала», это не всегда так. Действительно, в случае удаленной консоли, подключенной по протоколу telnet, нет способа получить фактические размеры терминала в оболочке пользователя.

РЕДАКТИРОВАТЬ : просто добавить, что, если пользователь изменяет размеры своего / ее xterm в Linux после запуска приложения Java приложение Java не получит уведомления, и оно выиграет ' Я не вижу новых измерений, отраженных в его копии переменных окружения LINES и COLUMNS!

РЕДАКТИРОВАТЬ 2 : Моя ошибка, это переменные оболочки bash , но по умолчанию они не экспортируются в среду. Вы можете "исправить" это, запустив export COLUMNS LINES перед запуском приложения Java.

24
ответ дан 27 November 2019 в 07:03
поделиться

В Java 6 есть класс java.io.Console, но, к сожалению, в нем отсутствуют требуемые функции. Получить ширину окна консоли невозможно с помощью стандартной библиотеки Java и чистой кроссплатформенной Java.

Вот альтернативная консольная библиотека Java , которая позволяет получить размер экрана, но включает DLL для Windows. Вы могли бы взять исходный код и скомпилировать часть C в общую библиотеку Linux или Mac OS X, чтобы она также работала на этих платформах.

4
ответ дан 27 November 2019 в 07:03
поделиться
Другие вопросы по тегам:

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