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