Концепция переменных окружающей среды не незнаком с ней, это переменные среды операционной системы.
Системные переменные - это переменные, поддерживаемые самой Java. Получите его через System.getProperty.
Для различных операционных систем обработка переменных среды может быть непоследовательной, такой как нечувствительные к случаям и т. Д.
Java получить переменные среды
Способ получения переменных среды Java очень прост:
System.getEnv () Получает все переменные среды
System.getEnv (ключ) получает значение переменной среды
Карта карта = System.getEnv (); Итератор IT = map.EntrySet (). Iterator (); while (it.hasnext ()) {intpirt = (inpit) it.next (); System.out.print (entry.getKey ()+"="); System.out.println (entry.getValue ()); }Если это система Windows, печатное значение такое же, как и переменные среды, которые можно увидеть с «моего компьютера».
Java получает и устанавливает системные переменные
Способ получить переменные среды Java также очень прост:
System.getProperties () Получает все системные переменные
System.getProperty (ключ) получает значение системной переменной
Свойства свойства = System.getProperties (); Итератор IT = Properties.EntrySet (). Iterator (); while (it.hasnext ()) {intpirt = (inpit) it.next (); System.out.print (entry.getKey ()+"="); System.out.println (entry.getValue ()); }В дополнение к возможности получения системных переменных, вы также можете установить необходимые системы через System.SetProperty (ключ, значение).
По умолчанию, какие системные переменные установлены на Java:
Пополнить
1. В .bat; .cmd или .sh, некоторые переменные будут установлены по набору.
Например, WebLogic's SetDomainenv.cmd
Установите sun_java_home = c:/oracle/middleware/jdk160_21
Переменная среды установлена здесь
2. В конфигурации Log4J иногда настроен путь генерации файла журнала.
Например, $ {log_dir} /logfile.log, log_dir здесь заменяется переменной атрибута системы.
3. Посмотрите на исходный код Java. Когда вы получаете системные переменные через System.getProperties (), будет безопасная проверка.
Публичные статические свойства getProperties () {SecurityManager sm = getSecurityManager (); if (sm! = null) {sm.checkpropertiesaccess (); } return props; } Security Manager в системе пуст во время одного приложения Java.
При запуске апплета разрешения проверяются в сочетании с файлом .policy.
Если вы дадите пустой SecurityManager, вы обнаружите, что исключение разрешения будет брошено.
public static void main (string [] args) {// todo Автогенерированный метод Stub System.seTecurityManager (New SecurityManager ()); // SecurityManager sm = System.getSecurityManager (); //System.out.println(sm); System.getSecurityManager (). CheckPropertiesAccess (); } Разница между System.getEnv () и System.getProperties () public static void main (string [] args) {map m = system.getenv (); for (iterator it = m.keyset (). iterator (); it.hasnext ();) {string key = (string) it.next (); String value = (string) m.get (key); System.out.println (key +":" +value); } System.out.println ("--------------------------------------"); Свойства p = System.getProperties (); for (iterator it = p.keyset (). iterator (); it.hasnext ();) {string key = (string) it.next (); String value = (string) p.get (key); System.out.println (key +":" +value); }}ANT_HOME: D:/Program/Devel/AntProcessor_Architecture: x86logonserver: // rj-weijianjunhomedrive: c: catalina_home: d: /program/server/tomcat5.5dxsdk_dir: d:/программа/microsoft directx sdk (Август 2008)/vs30-й. Files/Microsoft Visual Studio 8/Common7/Tools/SessionName: ConsoleHomePath:/Documents and Settings/AdministTortMP: C:/Docume ~ 1/Admini ~ 1/локалисты ~ 1/tempwindir: c:/windowsprocessor_identifier: x86 Family 6 Модель 15 Stepping 13, Genuineintelvs90comntools:/Program Studio/MicroSoft Studio/ProgramOfftio/ProgramOFFINIO/ProgramOffINIO. 9.0/common7/tools/systemDrive: c: userprofile: c:/documents and settings/administratorpathext: .com; .exe; .bat; .cmd; .vbs; .vbe; .js; .jse; .wsf; .wshmonprogramfiles: c:/program files/common; Filesnumber_of_processors: 2comspec: c: /windows/system32/cmd.execomputername: rj-weijianjunos: windows_ntusername: AdministratorClientName: ConsoleTemp: C:/Docume ~ 1/Admini ~ 1/Locals ~ 1/TemporeMander: rj-weijunalus:/documentors:/documentors:/documentors:/documentors:/documentorsprenmespor Настройки/All userslib: c:/программа файлов/sqlxml 4.0/bin/processor_level: 6systemroot: c:/windowsclusterlog: c: /windows/cluster/cluster.logappdata: c:/documents and unders/administrator/application datapath: c:/windows/system32; c:/windows; c:/c:/cpides322222222222222222222222/windem/wister32 Files/Microsoft SQL Server/80/Tools/Binn/;C:/Program Files/Microsoft SQL Server/90/DTS/Binn/;C:/Program Files/Microsoft SQL Server/90/Tools/binn/;C:/Program Files/Microsoft SQL Server/90/Tools/Binn/VSShell/Common7/IDE/;C:/Program Files/Microsoft Visual Studio 8/common7/ide/privateaseSemblies/; d:/program/devel/flex_sdk2/bin; d:/program/devel/ant/bin; c:/program files/java/jdk1.6.0_07/bin;%jonas_root%/bin/nt; d:/devel/ant/binjava_hhome: c: C: C: C: C: C: C: C: C: C: C: C: C: C: C Files/java/jdk1.6.0_07fp_no_host_check: noprocessor_revision: 0f0dprogramfiles: c:/program filesВот вывод свойства:
------------------------------------------ Java.Runtime.Name:Java(TM) 2 среда во время выполнения, Standard EditionSun.Boot.Library.Path: D:/Program Files/MyeClipse 6.5/JRE/Binjava.Vm.version: 1.5.0_11-b03java.vm.v.v.v.v. Inc.java.vendor.url: http: //java.sun.com/path.separator :; java.vm.name: java hotspot (tm) client vmfile.encoding.pkg: sun.iosun.java.launcher: sun_standarduser.country: cnsun.os. 2java.vm.speciation.name:Java Virtual Machine SpeciationUser.dir: D: /dev/eclipse/mye65/workspace/jmxjava.runtime.version: 1.5.0_11-b03java.awt.graphicsenv: sun.awt.win32graphicsenvironmentjava. Files/myeclipse 6.5/jre/lib/endorsedos.arch: x86java.io.tmpdir: c: /докуме ~1/admini~1/locals~1/temp/line.separator: java.vm.speciation.vendor: sun microsystems inc.user.variant: obs.name: widessersor. 2003sun.jnu.encoding: gbkjava.library.path: d:/program files/myeclipse 6.5/jre/bin; .; c:/windows/system32; c:/windows; c:/windows/system32; c:/windows; c:/windows/system32/wbem; c:/program files/microsoft sql scl/80/80/80 -й Sql Scl/80/80 -й sql Scl/80 -й Sql -Sear/80/80 -й Sql Server/80/80 -й. Files/Microsoft SQL Server/90/DTS/Binn/; C:/Program Files/Microsoft SQL Server/90/Tools/Binn/; C:/Program Files/Microsoft SQL Server/90/Tools/Binn/; C:/Program Files/Microsoft SQL Server/90/Binn/; C:/Program Files/Microsoft SQL SQL SQL SQL SQL SQL SQL SQL SQL SQL SCL SCL SCL/Microsoft SQL SCL/Microsoft SQL/Microsoft SCL/Microsoft SCL/Microsoft ser Server/90/binn/; Server/90/Tools/binn/vsshell/common7/ide/; c:/program files/microsoft visual Studio 8/common7/ide/privateassemblies/; d:/program/devel/flex_sdk2/bin; d:/devel/ant/bin; c:/program Files/java/jdk1.6.0_07/bin;%jonas_root%/bin/nt; d: /program/devel/ant/binjava.specification.name: java platform specificationjava.class.version: 49.sun.management.compiler: hotspot complic и настройки/администратор b/jmx/jmxtools.jar; d: /program/lib/log/commons-logging-1.1.1.jar; d: /program/lib/log/log4j-1.2.15.jar; d:/pro Gram/lib/Registry/Registry.jaruser.name: AdministratorJava.vm.speciation.version: 1.0java.home: d:/программа Files/myeclipse 6.5/jresun.arch.data.model: 32user.language: Zhjava.speciation.vendor: Sun Microsystems Inc.awt.Toolkit: sun.awt.windows.wtoolkitjava.vm.info: Mixed Modejava.Version.VershaV. Files/myeclipse 6.5/jre/lib/extsun.boot.class.path: d:/program files/myeclipse 6.5/jre/lib/rt.jar; d:/program files/myeclipse 6.5/jre/lib/i18n.jar; d:/Program files/myeclipse 6.5/jre/lib/sunrasign. 6.5/jre/lib/jsse.jar; d:/program files/myeclipse 6.5/jre/lib/jce.jar; d:/program files/myeclipse 6.5/jre/lib/charsets.jar; d:/program files/myeclipse 6.5/jre/lib/charsets.jar; d:/program files/myeclipse 6.5/jre/lib/charsets.jar; d:/программа/программа/myeclipse 6.5/jre/lib/charsets.jar; 6.5/jre/classesjava.vendor: Sun Microsystems Inc.file.separator: /java.vendor.url.bug: http: //java.sun.com/cgi-bin/bugreport.cgisun.io.unicode.encoding: unicodelittlesun.cpu.endian: littlesun.desktop: windowsun.cpu.isalist: pentium_ pentium_ Pentium+MMX Pentium i486 i386 i86