Ниже приводится ссылка, которая объясняет, о том, как установить переменная окружения в машине Windows, вручную:
http://www3.ntu.edu.sg/home/ehchua/programming/howto/Environment_Variables.html
Кусок взят из выше ссылке (необходимо полностью прочитать по ссылке, его очень богатые знания):
отображения переменных и их значения
Чтобы получить список всех переменных и их значения, запустите оболочку CMD (нажмите кнопку «Пуск» ⇒ «Выполнить» ⇒ введите «cmd») и выполните команду «set». Чтобы отобразить конкретную переменную, используйте команду «set varname». Например,
// Display all the variables (in NAME=VALUE pairs)
prompt> set
COMPUTERNAME=xxxxxxx
OS=xxxxxxx
PATH=xxxxxxx
.......
// Display a particular variable
prompt> set COMPUTERNAME
COMPUTERNAME=xxxxxx
// OR use echo command with variable enclosed within a pair of '%'s
prompt> echo %COMPUTERNAME%
COMPUTERNAME=xxxxxx
Попробуйте выполнить команду set в вашей системе и изучите перечисленные переменные окружения. Обратите особое внимание на переменную PATH.
Установить/Изменить/отключенное переменной
Чтобы установить (или изменение) переменной, использовать команду "установить VarName = значение". Не должно быть пробелов до и после знака '='. Чтобы отключить переменную среды, используйте «set varname =», т. Е. Установите ее в пустую строку.
prompt> set varname
prompt> set varname=value
prompt> set varname=
prompt> set
дисплей значение переменной
Set или не изменить значение переменной (Примечание: нет пространства до и после «=») Удалить переменную путем установки в пустая строка (Примечание: ничего после '=') Показать ВСЕ переменные окружения. Для примера,
// Set an environment variable
prompt> set MY_VAR=hello
// Display
prompt> set MY_VAR
MY_VAR=hello
// Unset an environment variable
prompt> set MY_VAR=
// Display
prompt> set MY_VAR
Environment variable MY_VAR not defined
Переменная набор с помощью команды «набор» под CMD является локальной переменной, доступны только для текущего сеанса CMD.
Если вы хотите установить один и тот же с помощью кода Java, ниже один пример:
public static void main(String[] args) throws IOException {
ProcessBuilder pb = new ProcessBuilder("CMD", "/C", "SET");
Map<String, String> env = pb.environment();
env.put("MYVAR", "myValue");
Process p = pb.start();
InputStreamReader isr = new InputStreamReader(p.getInputStream());
char[] buf = new char[1024];
while (!isr.ready()) {
;
}
while (isr.read(buf) != -1) {
System.out.println(buf);
}
}
Если вы хотите передать какую-то ценность для вашей программы, вы также можете сделать это в командной строке:
java -DMyVar=varValue <main program>
Это значение может быть истолковано как:
String myVar= System.getProperty("MyVar");
Если я решил установить переменную окружения в командной строке, чтобы у меня была переменная с именем NUM_THREADS = 2, а в моем .java или .cpp-файле у меня есть другая переменная с именем NUM_THREADS. Или предположим, что я хотел бы назвать эту переменную, которую я инициализировал в командной строке в файле .java или .cpp, как они узнают друг друга? Как файл .cpp вызывает эту переменную, которая была создана в приглашении. – Juniar
Вы имеете в виду, что вы определяете две переменные в java и CPP и хотите друг друга узнать об этом? Если это так, значение переменной среды является системным свойством, а не конкретным языком. Как только вы установили его вручную, он доступен повсюду. Но если вы установите его как параметр команды или параметр JVM, он будет доступен только для этой программы. Если вы хотите, чтобы он присутствовал для всей программы, установите его в переменную системной среды. – gyan
Спасибо, у меня возникла проблема с вызовом переменной внутри класса Java. Мне нужно было сделать ссылку на него в классе. Но я понял. – Juniar