Развернуть переменные env в строке - PullRequest
4 голосов
/ 04 января 2011

Есть ли какая-нибудь java-утилита, которая расширит ~ и env. переменные в строке?

Как "~ / bin; $ {MY_PATH}" -> "/ home / john / bin; / dev / null"

Спасибо

Ответы [ 2 ]

5 голосов
/ 04 января 2011

По сути, вы хотите выполнить строковую интерполяцию с переменными среды и развернуть домашние каталоги.Я не знаю простого способа сделать последнее, но если вы используете Spring для настройки, вы можете использовать PropertyPlaceholderConfigurer для замены заполнителей в строках.

По умолчаниюпеременные окружения включены в набор замен заполнителей.

ОБНОВЛЕНИЕ: поскольку это от пользователя, вы все равно можете использовать вспомогательные классы Spring:

String stringToBeInterpolated = ....;
Properties properties = System.getProperties();
PropertyPlaceholderHelper helper = new PropertyPlaceholderHelper("${","}");
String interpolatedValue = helper.replacePlaceholders(stringToBeInterpolated , properties);

Это непомогите с ~, но на этом этапе я бы предположил, что вы можете сделать довольно простую операцию замены строки.

0 голосов
/ 04 января 2011

Вы можете указать полный путь к папке bin и использовать System.getProperty("EVN_PROP_HERE")

...