Заменить переменную среду, владельцы места, на их фактическое значение?JAVA

Программисты JAVA общаются здесь
Anonymous
Заменить переменную среду, владельцы места, на их фактическое значение?

Сообщение Anonymous »

В моем приложении. Файл Пропертизации я использую ключ и значение, подобное тому, что < /p>


report.custom.templates.path=$ мне нужно заменить $ {catalina_home} < /code> на его фактический путь: < /p>

{CATALINA_HOME} = C:\Users\s57893\softwares\apache-tomcat-7.0.27< /code> < /p>

Вот мой код: < /p>

public class ReadEnvironmentVar {

public static void main(String args[]) {

String path = getConfigBundle().getString("report.custom.templates.path");
System.out.println("Application Resources : " + path);
String actualPath = resolveEnvVars(path);
System.out.println("Actual Path : " + actualPath);

}

private static ResourceBundle getConfigBundle() {
return ResourceBundle.getBundle("medicweb");
}

private static String resolveEnvVars(String input) {
if (null == input) {
return null;
}

Pattern p = Pattern.compile("\\$\\{(\\w+)\\}|\\$(\\w+)");
Matcher m = p.matcher(input);
StringBuffer sb = new StringBuffer();
while (m.find()) {
String envVarName = null == m.group(1) ? m.group(2) : m.group(1);
String envVarValue = System.getenv(envVarName);
m.appendReplacement(sb, null == envVarValue ? "" : envVarValue);
}
m.appendTail(sb);
return sb.toString();
}
}
< /code>

Из моего кода я получаю результат как -< /p>

Фактический путь: < /p>

C:Userss57893softwaresapache-tomcat-7.0.27\Medic\src\main\reports\AllReports\
< /code>

Но мне нужен результат как -< /p>

Фактический путь: < /p>

C:\Users\s57893\softwares\apache-tomcat-7.0.27\Medic\src\main\reports\AllReports\
< /code>

Пришлите мне один пример? < /p>

Подробнее здесь: https://stackoverflow.com/questions/263 ... tual-value

Вернуться в «JAVA»