Есть ли способ для java-программы узнать, на какой платформе она в данный момент работает? - PullRequest
2 голосов
/ 05 июля 2010

Есть ли способ для java-программы (или, более конкретно, java в jsp) выяснить, на какой платформе (windows или linux) она работает в настоящее время?Заранее спасибо.

Ответы [ 5 ]

6 голосов
/ 05 июля 2010

Вопрос в том, зачем вам это нужно. Обычный подход - запрашивать значения системных свойств, которые не определены должным образом и могут сломаться, если вам по какой-то причине нужно выбрать другую JVM или другую платформу.

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

Это сделает ваш код более устойчивым в долгосрочной перспективе.

6 голосов
/ 05 июля 2010
String os = System.getProperty("os.name");
3 голосов
/ 05 июля 2010

Если вы хотите использовать System.getProperty("os.name") для идентификации среды, тогда вас может заинтересовать список идентификаторов , используемый компанией, ранее известной как SUN

3 голосов
/ 05 июля 2010

Попробуйте:

System.getProperty("os.name")

Вы также можете найти эту функцию полезной.

1 голос
/ 05 июля 2010
System.getProperty("os.name")

Другие аналогичные свойства и их описания см. java.lang.System

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...