java中获取系统属性以及环境变量.doc_第1页
java中获取系统属性以及环境变量.doc_第2页
java中获取系统属性以及环境变量.doc_第3页
java中获取系统属性以及环境变量.doc_第4页
java中获取系统属性以及环境变量.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

java中获取系统属性以及环境变量System.getEnv()和System.getProperties()的区别从概念上讲,系统属性 和环境变量 都是名称与值之间的映射。两种机制都能用来将用户定义的信息传递给 Java 进程。环境变量产生更多的全局效应,因为它们不仅对Java 子进程可见,而且对于定义它们的进程的所有子进程都是可见的。在不同的操作系统上,它们的语义有细微的差别,比如,不区分大小写。因为这些原因,环境变量更可能有意料不到的副作用。最好在可能的地方使用系统属性。环境变量应该在需要全局效应的时候使用,或者在外部系统接口要求使用环境变量时使用(比如 PATH)。代码如下: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( - );Properties 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:/Program Files/Microsoft DirectX SDK (August 2008)/VS80COMNTOOLS:C:/Program Files/Microsoft Visual Studio 8/Common7/Tools/SESSIONNAME:ConsoleHOMEPATH:/Documents and Settings/AdministratorTMP:C:/DOCUME1/ADMINI1/LOCALS1/Tempwindir:C:/WINDOWSPROCESSOR_IDENTIFIER:x86 Family 6 Model 15 Stepping 13, GenuineIntelVS90COMNTOOLS:e:/Program Files/Microsoft Visual Studio 9.0/Common7/Tools/SystemDrive:C:USERPROFILE:C:/Documents and Settings/AdministratorPATHEXT:.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSHCommonProgramFiles:C:/Program Files/Common FilesNUMBER_OF_PROCESSORS:2ComSpec:C:/WINDOWS/system32/cmd.exeCOMPUTERNAME:RJ-WEIJIANJUNOS:Windows_NTUSERNAME:AdministratorCLIENTNAME:ConsoleTEMP:C:/DOCUME1/ADMINI1/LOCALS1/TempUSERDOMAIN:RJ-WEIJIANJUNALLUSERSPROFILE:C:/Documents and Settings/All Userslib:C:/Program Files/SQLXML 4.0/bin/PROCESSOR_LEVEL:6SystemRoot:C:/WINDOWSClusterLog:C:/WINDOWS/Cluster/cluster.logAPPDATA:C:/Documents and Settings/Administrator/Application DataPath:C:/WINDOWS/system32;C:/WINDOWS;C:/WINDOWS/System32/Wbem;C:/Program 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/PrivateAssemblies/;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:/program/devel/ant/binJAVA_HOME:C:/Program Files/Java/jdk1.6.0_07FP_NO_HOST_CHECK:NOPROCESSOR_REVISION:0f0dProgramFiles:C:/Program Files以下是property的输出:-:Java(TM) 2 Runtime Environment, Standard Editionsun.boot.library.path:D:/Program Files/MyEclipse 6.5/jre/binjava.vm.version:1.5.0_11-b03java.vm.vendor:Sun Microsystems Inc.java.vendor.url:/path.separator:;:Java HotSpot(TM) Client VMfile.encoding.pkg:sun.iosun.java.launcher:SUN_STANDARDuser.country:CNsun.os.patch.level:Service Pack 2:Java Virtual Machine Specificationuser.dir:D:/dev/eclipse/mye65/workspace/jmxjava.runtime.version:1.5.0_11-b03java.awt.graphicsenv:sun.awt.Win32GraphicsEnvironmentjava.endorsed.dirs:D:/Program Files/MyEclipse 6.5/jre/lib/endorsedos.arch:x86java.io.tmpdir:C:/DOCUME1/ADMINI1/LOCALS1/Temp/line.separator:java.vm.specification.vendor:Sun Microsystems Inc.user.variant::Windows 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 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/PrivateAssemblies/;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:/program/devel/ant/:Java Platform API Specificationjava.class.version:49.0piler:HotSpot Client Compileros.version:5.2user.home:C:/Documents and Settings/Administratoruser.timezone:Asia/Shanghaijava.awt.printerjob:sun.awt.windows.WPrinterJobfile.encoding:GBKjava.specification.version:1.5java.class.path:D:/dev/eclipse/mye65/workspace/jmx/bin;D:/program/lib/jmx/jmxtools.jar;D:/program/lib/log/commons-logging-1.1.1.jar;D:/program/lib/log/log4j-1.2.15.jar;D:/program/lib/registry/:Administratorjava.vm.specification.version:1.0java.home:D:/Program Files/MyEclipse 6.5/jresun.arch.data.model:32user.language:zhjava.specification.vendor:Sun Microsystems Inc.awt.toolkit:sun.awt.windows.WT:mixed modejava.version:1.5.0_11java.ext.dirs:D:/Program 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/sunrsasign.jar;D:/Program Files/MyEclipse 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/classesjava.vendor:Sun Microsystems Inc.file.separator:/java.vendor.url.bug:/cgi-bin/bugreport.cgisun.io.unicode.encoding:UnicodeLittlesun.cpu.endian:littlesun.desktop:windowssun.cpu.isalist:pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86个人认为比较重要的系统属性:java.home:Java 安装目录 (比如D:/JavaStudio/jdk15/jre)java.class.path:Java 类路径java.vm.version:Java虚拟机版本号(比如:1.5.0-b64)java.version:Java版本号(比如:1.5.0):操作系统的名称(比如:Windows XP)os.version:操作系统的版本(比如:Windows XP 的版本为5.1)user.home:用户的主目录 (比如:C:/Documents and Settings/zhangsan):当前用户名user.country:当前用户所属国家user.dir:用户的当前工作目录比较重要的环境变量(Windows操作系统):%COMPUTERNAME% 返回计算机的名称。%COMSPEC% 返回命令行解释器可执行程序的准确路径。%WINDIR% 返回操作系统目录的位置。%OS% 返回操作系统的名称。Windows 2000 将操作系统显示为 Windows_NT。%PATH% 指定可执行文件的搜索路径。%USERDOMAIN% 返回包含用户帐户的域的名称。%USERNAME% 返回当前登录的用户的名称。下面是一篇在jdk1.4中得到环境变量的方法:Access user defined environment variable inside the java program with jdk1.4 In JDK 1.4 System.getenv() is deprecated. (In JDK 1.5 it is un-deprected again.) The getProperty method is now the correspoding method to get the variables. For example: System.getProperty(java.class.path,). But it doesnt work for user defined environment variable. This problem can be solved by using the following code: import java.io.BufferedReader;import java.io.InputStreamReader;/* Environment class simulates the System.getenv() method which is deprecated* on java 1.4.2* author v-josp*/public class TestRoot /result of all enviornment variables private static BufferedReader commandResult; static String cmd = null;String os = null;/getting the OS nameos = System.getProperty().toLowerCase();/ according to OS set the command to executeif(os.startsWith(windows)cmd = cmd /c SET;else cmd=env;try /execute the command and get the result in the form of InputStreamProcess p = Runtime.getRuntime().exec(cmd);/parse the InputStream data InputStreamReader isr = new Input

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论