`

java中System.getProperty()的作用及使用

阅读更多

最近在看一些代码时,很多地方都用到了System.getProperty()、System.load()、System.loadLibrary()等等

System可以有对标准输入,标准输出,错误输出流;对外部定义的属性和环境变量的访问;加载文件和库的方法;还有快速复制数组的一部分的实用方法System.getProperties()可以确定当前的系统属性,返回值是一个Properties;
System.load(String filename)等同于:System.getProperties().load(String filename)它们的作用是可以从作为动态库的本地文件系统中以指定的文件名加载代码文件。

System.setProperties(Properties propes):将系统属性设置为Properties参数;
System.setProperties(String key,String value)等同于System.getProperties().setProperties(String key,String value):设置指定键指示的系统属性

JDK API

http://tool.oschina.net/apidocs/apidoc?api=jdk-zh  

static void setProperties(Properties props)
          将系统属性设置为 Properties 参数。
static String setProperty(String key, String value)
          设置指定键指示的系统属性。

 

 

static Properties getProperties()
          确定当前的系统属性。
static String getProperty(String key)
          获取指定键指示的系统属性。
static String getProperty(String key, String def)
          获取用指定键描述的系统属性。

1、setProperties

public static void setProperties(Properties props)
将系统属性设置为 Properties 参数。

首先,如果有安全管理器,则不带参数直接调用其 checkPropertiesAccess 方法。这可能导致一个安全性异常。

参数是 getProperty(String) 方法使用的当前系统属性的集合。如果参数为 null,则忽略当前系统属性的集合。

 


参数:props - 新的系统属性。抛出:SecurityException - 如果安全管理器存在并且其 checkPropertiesAccess 方法不允许访问系统属性。另请参见:getProperties(), Properties, SecurityException, SecurityManager.checkPropertiesAccess()

2、System.getProperties

 

public static Properties getProperties()

 

确定当前的系统属性。

首先,如果有安全管理器,则不带参数直接调用其 checkPropertiesAccess 方法。这可能导致一个安全性异常。

getProperty(String) 方法使用的当前系统属性集合作为 Properties 对象返回。如果没有当前系统属性集合,则先创建并初始化一个系统属性集合。这个系统属性集合总是包含以下键的值:

键 相关值的描述
java.version Java 运行时环境版本
java.vendor Java 运行时环境供应商
java.vendor.url Java 供应商的 URL
java.home Java 安装目录
java.vm.specification.version Java 虚拟机规范版本
java.vm.specification.vendor Java 虚拟机规范供应商
java.vm.specification.name Java 虚拟机规范名称
java.vm.version Java 虚拟机实现版本
java.vm.vendor Java 虚拟机实现供应商
java.vm.name Java 虚拟机实现名称
java.specification.version Java 运行时环境规范版本
java.specification.vendor Java 运行时环境规范供应商
java.specification.name Java 运行时环境规范名称
java.class.version Java 类格式版本号
java.class.path Java 类路径
java.library.path 加载库时搜索的路径列表
java.io.tmpdir 默认的临时文件路径
java.compiler 要使用的 JIT 编译器的名称
java.ext.dirs 一个或多个扩展目录的路径
os.name 操作系统的名称
os.arch 操作系统的架构
os.version 操作系统的版本
file.separator 文件分隔符(在 UNIX 系统中是“/”)
path.separator 路径分隔符(在 UNIX 系统中是“:”)
line.separator 行分隔符(在 UNIX 系统中是“/n”)
user.name 用户的账户名称
user.home 用户的主目录
user.dir 用户的当前工作目录

系统属性值中的多个路径是用平台的路径分隔符分隔的。

注意,即使安全管理器不允许执行 getProperties 操作,它可能也会选择允许执行 getProperty(String) 操作。

 


返回:系统属性抛出:SecurityException - 如果安全管理器存在并且其 checkPropertiesAccess 方法不允许访问系统属性。另请参见:setProperties(java.util.Properties), SecurityException, SecurityManager.checkPropertiesAccess(), Properties
Java代码
  1. public class TestSystemGetSet {  
  2.     static{  
  3.         System.setProperty("DB""mysql");//可以作为全局变量,在任何地方使用  
  4.     }  
  5.     public static void main(String[] args) {  
  6.         System.out.println(System.getProperty("os.version"));  
  7.         System.out.println(System.getProperty("java.library.path"));  
  8.         System.out.println(System.getProperty("DB"));  
  9.     }  
  10. }  
输出结果:
10.0
C:\Java\jdk1.8.0_121\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Java/jre8/bin/server;C:/Java/jre8/bin;C:/Java/jre8/lib/amd64;C:\Program Files\IBM\WebSphere MQ\java\lib;C:\Program Files\IBM\WebSphere MQ\java\lib64;E:\app\Administrator\product\11.2.0\dbhome_2\bin;C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\MySQL\MySQL Server 5.1\bin;D:/maven\bin;C:\Program Files (x86)\Rational\common;C:\Program Files\IBM\WebSphere MQ\bin64;C:\Program Files\IBM\WebSphere MQ\bin;C:\Program Files\IBM\WebSphere MQ\tools\c\samples\bin;C:\Java\jdk1.8.0_121\bin;C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps;D:\maven\bin;E:\soft\apache-ant-1.10.1\bin;D:\erl9.2\bin;;C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps;E:\tool\eclipse;;.
mysql
 
0
0
分享到:
评论

相关推荐

    Java中System.getProperty的使用

    在Java编程语言中,`System.getProperty`方法是一个非常实用且重要的功能,用于获取与系统相关的属性信息。这些属性包括但不限于操作系统、Java运行环境版本、安装目录等关键信息,对于理解和调试程序运行环境有着不...

    java项目路径(相关信息)的取得

    本文将详细介绍如何利用`System.getProperty()`方法来获取Java项目的路径及相关信息,并对这些信息的具体含义进行深入解析。 #### `System.getProperty()`简介 `System.getProperty()`是Java提供的一个用于获取...

    Java的System.getProperty()方法获取大全

    `System.getProperty()`方法是Java中的一个核心功能,它用于获取Java虚拟机(JVM)和操作系统相关的系统属性。这些属性提供了关于运行Java程序的环境的详细信息,包括Java版本、供应商信息、JRE目录、操作系统详情等...

    JAVA获取操作系统名称

    java获取操作系统名称,通过 System.getProperty("os.name") 由于JDK的bug,Windows Server 2012 R2获取到的System.getProperty("os.name") 为 Window NT unknown 因此需要通过JNA(Java Native Access )调用...

    System.getProperty

    System.getProperty 通过该方法获取系统属性信息 很好

    java 实现对当前操作系统的判断

    这主要通过Java的`java.lang.System`类中的`getProperty()`方法实现。这个方法允许我们获取关于Java虚拟机(JVM)及其宿主环境的各种属性,其中包括操作系统的信息。下面我们将深入探讨如何使用Java来判断操作系统...

    intellij idea 设置多module路径.docx

    然而,在这样的环境中,我们可能会遇到一个问题,即在运行或调试代码时,`System.getProperty("user.dir")`方法返回的不是当前module的实际路径,而是IDE的默认工作目录,这可能导致文件操作或配置加载出现问题。...

    java获取系统参数规格

    System.out.println("Java版本:\n" + System.getProperty("java.version")); ``` 该命令返回当前正在运行的Java虚拟机(JVM)的主要版本号,例如`1.8.0_251`。 #### 2. 获取Java供应商信息 ```java System.out....

    Java中通过System.getProperties()获取系统参数测试.docx

    ### Java中通过System.getProperties()获取系统参数 在Java编程中,`System.getProperties()`是一个非常实用的方法,它允许开发者访问和获取当前Java运行环境的各种系统属性。这些属性包含了关于Java运行时环境的...

    Java中System类.pdf

    Java中System类还提供了许多其他的方法和变量,例如,System.currentTimeMillis()方法可以获取当前时间的毫秒数,System.getProperty()方法可以获取系统的属性信息,等等。 在编程中,System类非常重要,很多应用...

    java设置http代理

    System.out.println("Java 虚拟机规范版本:" + props.getProperty("java.vm.specification.version")); System.out.println("Java 虚拟机规范厂商:" + props.getProperty("java.vm.specification.vendor")); ...

    java log4j统一打印在user.dir目录下(windows、linux通用、不用考虑不同操作系统分隔符不一致的情况)

    Java日志管理是开发过程中必不可少的部分,而Log4j作为Java世界中广泛使用的日志框架,因其灵活性和可配置性而备受青睐。本教程将详细解释如何配置Log4j,使其在不同操作系统环境下(Windows和Linux)都能统一将日志...

    java 获取当前路径

    使用 System.getProperty() 函数可以获取当前路径,该函数可以获取 Java 运行时环境的各种属性,其中包括当前路径。下面是一个示例代码: ```java System.out.println(System.getProperty("user.dir")); ``` 这段...

    linux opencvjava320.so

    liunx opencv java320.so System.getProperty("java.library.path") 获取到library路径然后把so文件放到该目录下

    jacob.jar1.19及使用方法

    jacob.jar1.19及使用方法 解压后获得3个文件 jacob.jar jacob-1.17-x64.dll jacob-1.17-x86.dll jacob.jar 放到项目的lib目录 win7 jacob-1.17-x64.dll 放到C:\Windows\System32 jacob-1.17-x86.dll 放到C:\...

    JAVA获取项目路径.doc

    下面给出一个简单的示例,展示如何在Java程序中使用 `System.getProperty()` 来获取路径: ```java public class PathExample { public static void main(String[] args) { String currentDir = System....

    【图文】第六章、Java之API.doc

    在Java中,可以通过`System.getProperty()`方法获取或设置这些环境变量,例如: ```java String classpath = System.getProperty("java.class.path"); ``` Java还允许开发者通过命令行参数 `-D` 来设置系统的属性...

    J2ME 常用的一些API

    - **获取MIDP(Mobile Information Device Profile)版本**:`System.getProperty("microedition.profiles")`,这对于确定应用程序能够使用的API集非常有用。 #### 字符编码和语言设置 - **获取字符编码**:`System...

    java获取操作系统版本代码

    Java提供了一个非常方便的方法`System.getProperty()`,可以用来获取操作系统相关信息。例如: ```java String osName = System.getProperty("os.name"); String osVersion = System.getProperty("os.version");...

    JAVA中如何得到文件路径.pdf

    1. **使用`System.getProperty("user.dir")`**: - 这个方法返回当前工作目录的路径。 - 示例代码: ```java System.out.println(System.getProperty("user.dir")); ``` 2. **使用`Thread.currentThread()....

Global site tag (gtag.js) - Google Analytics