首頁  >  文章  >  Java  >  Java中的System.getProperty()方法的作用和用法是什麼?

Java中的System.getProperty()方法的作用和用法是什麼?

PHPz
PHPz轉載
2023-04-27 09:07:072309瀏覽

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):設定指定鍵指示的系統屬性

#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) 取得以指定鍵描述的系統屬性。

setProperties

public static void setProperties(Properties props)

將系統屬性設定為Properties

首先,如果有安全管理器,則不含參數直接呼叫其checkPropertiesAccess 方法。這可能導致一個安全性異常。

參數是 getProperty(String) 方法使用的目前系統屬性的集合。如果參數為 null,則忽略目前系統屬性的集合。

參數: - 新的系統屬性。 SecurityException``checkPropertiesAccess另請參閱:

public static Properties getProperties()

確定目前的系統屬性。

首先,如果有安全管理器,則不帶參數直接呼叫其 checkPropertiesAccess 方法。這可能導致一個安全性異常。

將 getProperty(String) 方法使用的目前系統屬性集合作為 Properties 物件傳回。如果沒有目前系統屬性集合,則先建立並初始化一個系統屬性集合。

這個系統屬性集合總是包含以下鍵的值:

鍵相關值的描述

##Java 虛擬機器規格供應商java.vm.specification.name#Java 虛擬機器規格名稱##java.vm. versionjava.vm.vendor##java.vm.nameJava 虛擬機器實作名稱#java.specification.version##Java 執行階段環境規格版本Java 執行階段環境規格供應商 #Java 執行階段環境規格名稱Java 類別格式版本號##java.class .pathJava 類別路徑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) 操作。

**返回:**抛出: - 如果安全管理器存在并且其 方法不允许访问系统属性。setProperties(java.util.Properties)SecurityExceptionSecurityManager.checkPropertiesAccess()Properties

Java代码

public class TestSystemGetSet {  
    static{  
        System.setProperty("DB", "mysql");//可以作为全局变量,在任何地方使用  
    }  
    public static void main(String[] args) {  
        System.out.println(System.getProperty("os.version"));  
        System.out.println(System.getProperty("java.library.path"));  
        System.out.println(System.getProperty("DB"));  
    }  
}

输出结果:

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

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 虛擬機器實作供應商
java.specification.vendor
java.specification.name
java.class.version

以上是Java中的System.getProperty()方法的作用和用法是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除