Java 系統 setProperties() 方法



描述

Java System setProperties() 方法將系統屬性設定為 Properties 引數。

宣告

以下是 java.lang.System.setProperties() 方法的宣告

public static void setProperties(Properties props)

引數

props − 這是新的系統屬性。

返回值

此方法不返回值。

異常

SecurityException − 如果存在安全管理器,並且其 checkPropertiesAccess 方法不允許訪問系統屬性。

示例:清除使用者目錄並設定新路徑

以下示例演示了 Java System setProperties() 方法的使用。在此示例中,我們使用 System.clearProperty() 方法清除了當前的 user.dir 系統屬性。我們使用了 clearProperty() 的返回值來列印之前的 user.dir 屬性值。使用 setProperties() 方法,透過 properties 物件將新的路徑設定為 user.dir,並使用 getProperty() 獲取並列印此更新後的屬性。

package com.tutorialspoint;

public class SystemDemo {

   public static void main(String[] args) {

      // returns the previous string value of the system property
      String userDir = System.clearProperty("user.dir");
      System.out.println("Previous user.dir = " + userDir);

      // sets the new property	  
      Properties p = System.getProperties();
      p.put("user.dir", "C:/tutorialspoint/java");
      System.setProperties(p);

      // gets the system property after changes done by setProperty
      System.out.println("Current user.dir = " + System.getProperty("user.dir"));
   }
} 

輸出

讓我們編譯並執行上述程式,這將產生以下結果:

Previous user.dir = C:\Users\Tutorialspoint\eclipse-workspace\Tutorialspoint
Current user.dir = C:/tutorialspoint/java

示例:清除 Java 類路徑並設定新路徑

以下示例演示了 Java System setProperties() 方法的使用。在此示例中,我們使用 System.clearProperty() 方法清除了當前的 java.class.path 系統屬性。我們使用了 clearProperty() 的返回值來列印之前的 java.class.path 屬性值。使用 setProperties() 方法,透過 properties 物件將新的路徑設定為 java.class.path,並使用 getProperty() 獲取並列印此更新後的屬性。

package com.tutorialspoint;

public class SystemDemo {

   public static void main(String[] args) {

      // returns the previous string value of the system property
      String classPath = System.clearProperty("java.class.path");
      System.out.println("Previous Class Path = " + classPath);

      // sets the new property	  
      Properties p = System.getProperties();
      p.put("java.class.path", "C:/tutorialspoint/java");
      System.setProperties(p);

      // gets the system property after changes done by setProperty
      System.out.println("Current Class Path = " + System.getProperty("java.class.path"));
   }
} 

輸出

讓我們編譯並執行上述程式,這將產生以下結果:

Previous Class Path = C:\Users\Tutorialspoint\eclipse-workspace\Tutorialspoint\bin;C:\Users\Tutorialspoint\eclipse-workspace\Tutorialspoint\lib\jmh-core-1.37.jar;C:\Users\Tutorialspoint\eclipse-workspace\Tutorialspoint\lib\jmh-generator-annprocess-1.37.jar;C:\Users\Tutorialspoint\eclipse-workspace\Tutorialspoint\lib
Current Class Path = C:/tutorialspoint/java

示例:清除不存在的屬性並設定新值

以下示例演示了 Java System setProperties() 方法的使用。在此示例中,我們使用 System.clearProperty() 方法清除了當前的 tmp.dir 系統屬性。我們使用了 clearProperty() 的返回值來列印之前的 tmp.dir 屬性值(為 null)。使用 setProperties() 方法,透過 properties 物件將新的路徑設定為 tmp.dir,並使用 getProperty() 獲取並列印此更新後的屬性。

package com.tutorialspoint;

public class SystemDemo {

   public static void main(String[] args) {

      // returns the previous string value of the system property
      String tmpDir = System.clearProperty("tmp.dir");
      System.out.println("Previous Temporary Dir = " + tmpDir);
	  
      // sets the new property	  
      Properties p = System.getProperties();
      p.put("tmp.dir", "C:/tutorialspoint/java");
      System.setProperties(p);

      // gets the system property after changes done by setProperty
      System.out.println("Current Temporary Dir = " + System.getProperty("tmp.dir"));
   }
}  

輸出

讓我們編譯並執行上述程式,這將產生以下結果:

Previous Temporary Dir = null
Current Temporary Dir = C:/tutorialspoint/java
java_lang_system.htm
廣告