`
wangyanlong0107
  • 浏览: 502838 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

【转】java中获取环境变量

    博客分类:
  • java
 
阅读更多

分为获取java自身的一些环境变量和和操作系统相关的环境变量。

  • 获取JVM相关的一些变量

在运行时设置一个环境变量 debug 为 true: java -Ddebug=true YourClass
在程序中设置一个环境变量 debug 为 true: System.setProperty( "debug", "true" );
获取一个环境变量 debug : String debug = System.getProperty( "debug" );

下表中列出了一部分环境变量,这些是 Java 已经定义好的,可以在程序中通过 System.getProperty( "key" ) 来获取,更多的环境变量请参阅 JDK 文档。

 

属性名 描 述
java.version Java 运行时版本
java.home Java 的安装目录
java.class.version Java 类格式的版本号
java.class.path Java 类的查找路径
java.io.tmpdir 默认的临时目录
java.compiler Java 所使用的及时编译器
java.ext.dirs Java 扩展包的目录
os.name 操作系统的名称
os.arch 操作系统的体系结构
os.version 操作系统的版本
file.separator 文件分隔符(Unix 下为'/')
path.separator 路径分隔符(Unix 下为':')
line.separator 换行符(Unix 下为'/n')
user.name 用户帐号名
user.home 用户目录
user.dir 用户当前的工作目录

 

其他具体的可以参考后面的代码实例程序。

  • 取得操作系统的环境变量

注意,这次是获取操作系统的环境变量,而不是获取JVM相关的一些变量。
  也许是为了营造JVM就是操作系统平台的气氛,抑或是为了强调Java的平台无关性,不知几时起Java已经把System.getenv(String)函数废弃了。所以一般来说Java只能获取它自己定义的一些变量,而无法与操作系统的环境变量交互,只能在运行靠java的“-D”参数来设置要传递给它的一些变量。
  所以唯一的办法只能先判断操作系统,然后用操作系统的命令来调出环境变量列表,设法获得该输出列表。

  • 代码实现
  • Properties getSysEnv() {

  •   Properties prop = new Properties();

      try {
       Process p = null;

       // 判断是哪种操作系统,然后执行相应的命令,该命令的输出必须是类似windows输入set命令的输出格式
       // 增加对新的操作系统的支持,只需改动此处程序即可
       String OS = System.getProperty("os.name").toLowerCase();
       if (OS.indexOf("windows") > -1) {
        p = Runtime.getRuntime().exec("cmd /c set"); // 其它的操作系统可以自行处理,
       } else if (OS.indexOf("linux") > -1) {
        p = Runtime.getRuntime().exec("/bin/sh -c set");
       } else if (OS.indexOf("sunos") > -1) {
        p = Runtime.getRuntime().exec("/bin/sh -c set");
       } else {
        System.out
          .println("### Unknown Operating System : Unknown Operating System! os.name="
            + OS);
        return prop;
       }

       // 把命令行的输出逐行解析,形成一个Properties对象
       BufferedReader br = new BufferedReader(new InputStreamReader(p
         .getInputStream()));
       String line;
       while ((line = br.readLine()) != null) {
        int i = line.indexOf("=");
        if (i > -1) {
         String key = line.substring(0, i);
         String value = line.substring(i + 1);
         prop.setProperty(key, value);
        }
       }
      } catch (Exception ex) {
       System.out
         .println("Exception occurred! Message " + ex.getMessage());
      }
      return prop;
     }

     

    以上代码,把当前的操作系统环境变量取到一个java.utils.Properties中去。一开始用System property “os.name”来判断是哪种操作系统,然后执行一个外部进程,得到一个“name=value”的输出流,并把它用一个InputStream读进来作解析即可。

    目前这段代码支持Windows,Linux,Sun Soloaris三种操作系统,如果要支持其他才作系统,原理很简单,不再细说。

分享到:
评论

相关推荐

    JAVA读取环境变量

    在Java中,可以通过多种方式来读取环境变量,但本例采用了一种较为复杂但灵活性高的方法:通过执行系统命令来获取环境变量。这种方法的优势在于可以跨平台运行,并且能够获取所有环境变量,而不仅仅是那些被Java...

    java 程序 环境变量修改

    `SystemUtils`是Apache Commons Lang库中的一个类,它提供了获取操作系统信息、判断是否为特定类型的操作系统、检查Java环境变量等功能。在Java代码中,你可以使用`SystemUtils`来判断当前运行环境,例如: ```java...

    详解Java获取环境变量及系统属性的方法

    总之,Java中获取环境变量及系统属性的方法是系统级别的操作,对于开发和调试Java应用程序具有重要作用。合理地使用这些方法,能够帮助我们更好地了解和配置应用程序运行环境,以确保应用的正确执行和高效运行。

    Java 以及tomcat的环境变量的配置

    - 将JDK的bin目录添加到Path环境变量中。 - 示例:`%JAVA_HOME%\bin; %JAVA_HOME%\jre\bin;` - **注意**:确保这些路径与其他系统路径之间用分号(`;`)隔开。 ##### 3. CLASSPATH - **定义**:CLASSPATH环境...

    java配置环境变量

    在Windows操作系统中,正确配置Java Development Kit (JDK) 的环境变量可以让系统识别并执行Java相关命令,如`javac`(编译器)和`java`(解释器)。以下将详细讲解如何配置Java的环境变量。 首先,我们需要下载并...

    java配置环境变量工具

    java配置环境变量,不用配置java_home,class_path,path,只需要轻轻一点,按照提示就可完成配置。一次下载,终身可用。

    JAVA环境变量配置

    ### JAVA环境变量配置详解 #### 一、引言 在计算机科学领域,特别是软件开发行业中,Java作为一种广泛使用的编程语言,其环境配置是每位开发者必须掌握的基础技能之一。本文将详细介绍如何配置Java环境变量,包括...

    配置java环境变量

    在IT领域,正确配置Java环境变量是确保Java应用程序能在不同操作系统上顺利运行的关键步骤。本文将深入探讨如何在Windows和Linux环境下配置Java环境变量,帮助读者掌握这一基础但至关重要的技能。 ### Windows环境...

    Java环境变量一键配置

    Java环境变量一键配置工具是为了简化Java开发环境的搭建过程,特别是对于那些不熟悉操作系统环境变量配置的用户来说,这是一个非常方便的解决方案。在传统的Java开发环境中,安装Java Development Kit (JDK) 后,...

    获取系统环境变量.rar

    - 在编程语言中,如Python、Java、C#等,都有相应的API或方法来获取和设置环境变量。 7. **安全考虑**: 不应随意修改系统环境变量,尤其是与系统运行密切相关的变量,以免引起系统不稳定或安全风险。 8. **环境...

    Java环境变量添加工具

    Java环境变量添加工具是一款专为Java开发者设计的实用程序,它简化了在Windows操作系统中配置Java开发环境的过程。通常,为了运行Java程序或进行Java开发,我们需要手动设置一系列环境变量,如JAVA_HOME、PATH和...

    Java配置环境变量及JDK下载安装教程

    为了在计算机上运行Java程序,首先需要安装Java Development Kit (JDK),同时还需要正确配置环境变量。本教程将详细介绍Java环境变量的配置以及JDK的下载与安装过程。 ### 一、JDK下载 1. 访问Oracle官网:首先,...

    java、jsp环境变量配置.cmd

    配置Java和JSP的环境变量是开发过程中的基础步骤,确保系统能够正确识别并运行相关的命令和程序。本文将详细解释如何配置这些环境变量,并介绍提供的"java、jsp环境变量配置.cmd"脚本的作用。 首先,我们来了解环境...

    JAVA环境变量搭建

    ### JAVA环境变量搭建 #### 知识点概览 1. **JDK的安装与选择** 2. **JAVA_HOME环境变量的配置** 3. **CLASSPATH环境变量的配置** 4. **Path环境变量的配置** #### 详细说明 在进行JAVA开发前,正确配置好JAVA...

    一键配置WIN7下Java环境变量.zip

    在Windows 7操作系统中,配置Java环境变量是安装和运行Java程序所必需的步骤。Java开发工具包(Java Development Kit, JDK)包含了编译、调试和执行Java应用程序所需的工具和库。本文将详细阐述如何通过“一键配置”...

    java环境变量配置

    Java环境变量配置是Java开发和运行必不可少的步骤,它涉及到JDK(Java Development Kit)的安装和系统路径的设置。本文将深入讲解如何一键配置Java环境变量,让你能够在解压后立即开始使用,无需繁琐的安装过程。 ...

Global site tag (gtag.js) - Google Analytics