Java中系統屬性Properties介紹 System.getProperty()參數大全-tomcat設置參數,java獲取

原文鏈接:https://blog.csdn.net/bestcxx/article/details/51453227

Java中系統屬性Properties介紹 System.getProperty()參數大全-tomcat設置參數,java獲取

2016年05月19日 13:54:09 bestcxx 閱讀數 6806

在tomcat服務器中,找到如下路徑的文件

/服務器/bin/catalina.sh

 

#                   LOGGING_MANAGER="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"
# -----------------------------------------------------------------------------

 

後增加如下語句:

JAVA_OPTS="$JAVA_OPTS -Dhttp.proxySet=true "

JAVA_OPTS="$JAVA_OPTS -Dhttp.proxyHost=9.226.0.101 "
JAVA_OPTS="$JAVA_OPTS -Dhttp.proxyPort=8080 "
JAVA_OPTS="$JAVA_OPTS -Dhttp.nonProxyHosts=localhost\|127.*\|192.111.1.*\|192.111.49.*\|192.111.125.*\|192.111.126.*\|192.111.127.* "

 

然後,就可以在java中用下面的語句來獲取了參數了

System.getProperty("http.proxyHost");

System.getProperty("http.proxyPort");

System.getProperty("http.proxySet");

System.getProperty("http.nonProxyHosts");

 

 

 

 

 

下面是轉載的一些其他方法:地址爲http://my.oschina.net/zhxm/blog/60110

 

在JDK文檔中System類中有這樣的方法getProperties()在此方法的詳細介紹中有下面的參數可供使用:

 

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  用戶的當前工作目錄

 

下面是針對這些參數進行的一個測試,代碼如下:


 
  1. import java.io.File;

  2. import java.io.FileOutputStream;

  3. import java.io.OutputStream;

  4. import java.net.InetAddress;

  5. import java.net.UnknownHostException;

  6. import java.util.Properties;

  7. import java.util.Set;

  8. public class MyJavaMain {

  9.  
  10. public static void main(String[] args) throws Exception {

  11.  
  12. //通過StringBuilder來構建要輸出的內容

  13. StringBuilder sb = new StringBuilder();

  14. sb.append("Java 運行時環境版本:"+System.getProperty("java.version")+"\n");

  15. sb.append("Java 運行時環境供應商:"+System.getProperty("java.vendor")+"\n");

  16. sb.append("Java 供應商的URL:"+System.getProperty("java.vendor.url")+"\n");

  17. sb.append("Java 安裝目錄:"+System.getProperty("java.home")+"\n");

  18. sb.append("Java 虛擬機規範版本:"+System.getProperty("java.vm.specification.version")+"\n");

  19. sb.append("Java 類格式版本號:"+System.getProperty("java.class.version")+"\n");

  20. sb.append("Java類路徑:"+System.getProperty("java.class.path")+"\n");

  21. sb.append("加載庫時搜索的路徑列表:"+System.getProperty("java.library.path")+"\n");

  22. sb.append("默認的臨時文件路徑:"+System.getProperty("java.io.tmpdir")+"\n");

  23. sb.append("要使用的 JIT 編譯器的名稱:"+System.getProperty("java.compiler")+"\n");

  24. sb.append("一個或多個擴展目錄的路徑:"+System.getProperty("java.ext.dirs")+"\n");

  25. sb.append("操作系統的名稱:"+System.getProperty("os.name")+"\n");

  26. sb.append("操作系統的架構:"+System.getProperty("os.arch")+"\n");

  27. sb.append("操作系統的版本:"+System.getProperty("os.version")+"\n");

  28. sb.append("文件分隔符(在 UNIX 系統中是“/”):"+System.getProperty("file.separator")+"\n");

  29. sb.append("路徑分隔符(在 UNIX 系統中是“:”):"+System.getProperty("path.separator")+"\n");

  30. sb.append("行分隔符(在 UNIX 系統中是“/n”):"+System.getProperty("line.separator")+"\n");

  31. sb.append("用戶的賬戶名稱:"+System.getProperty("user.name")+"\n");

  32. sb.append("用戶的主目錄:"+System.getProperty("user.home")+"\n");

  33. sb.append("用戶的當前工作目錄:"+System.getProperty("user.dir")+"\n");

  34.  
  35. //新建一個文件,如果該文件不存在則創建一個

  36. File file = new File("c:\\t.txt");

  37. if( !file.exists()){

  38. file.createNewFile();

  39. }

  40. OutputStream ous = new FileOutputStream(file);

  41.  
  42. //獲取系統的屬性

  43. Properties ps = System.getProperties();

  44. //獲得系統屬性中的鍵值

  45. Set<String> set = ps.stringPropertyNames();

  46. for(String name: set){

  47. sb.append(name + " : " +ps.getProperty(name) + "\n");

  48. System.out.println(name + " : " +ps.getProperty(name) );

  49. }

  50. ous.write(sb.toString().getBytes());

  51. ous.close();

  52.  
  53. System.out.println(System.getProperty("os.name"));

  54. System.out.println(System.getProperty("os.version"));

  55. System.out.println("Java運行時環境版本:"+System.getProperty("java.version"));

  56. System.out.println("Java 運行時環境供應商:"+System.getProperty("java.vendor"));

  57. System.out.println("Java 供應商的URL:"+System.getProperty("java.vendor.url"));

  58. System.out.println("Java 安裝目錄:"+System.getProperty("java.home"));

  59. System.out.println("Java 虛擬機規範版本:"+System.getProperty("java.vm.specification.version"));

  60. System.out.println("Java 類格式版本號:"+System.getProperty("java.class.version"));

  61. System.out.println("Java 類路徑:"+System.getProperty("java.class.path"));

  62. System.out.println("加載庫時搜索的路徑列表:"+System.getProperty("java.library.path"));

  63. System.out.println("默認的臨時文件路徑:"+System.getProperty("java.io.tmpdir"));

  64. System.out.println("要使用的 JIT 編譯器的名稱:"+System.getProperty("java.compiler"));

  65. System.out.println("一個或多個擴展目錄的路徑:"+System.getProperty("java.ext.dirs"));

  66. System.out.println("操作系統的名稱:"+System.getProperty("os.name"));

  67. System.out.println("操作系統的架構:"+System.getProperty("os.arch"));

  68. System.out.println("操作系統的版本:"+System.getProperty("os.version"));

  69. System.out.println("文件分隔符(在 UNIX 系統中是“/”):"+System.getProperty("file.separator"));

  70. System.out.println("路徑分隔符(在 UNIX 系統中是“:”):"+System.getProperty("path.separator"));

  71. System.out.println("行分隔符(在 UNIX 系統中是“/n”):"+System.getProperty("line.separator"));

  72. System.out.println("用戶的賬戶名稱:"+System.getProperty("user.name"));

  73. System.out.println("用戶的主目錄:"+System.getProperty("user.home"));

  74. System.out.println("用戶的當前工作目錄: "+System.getProperty("user.dir"));

  75.  
  76. InetAddress netAddress = getInetAddress();

  77. System.out.println("host ip:" + getHostIp(netAddress));

  78. System.out.println("host name:" + getHostName(netAddress));

  79. }

  80.  
  81. /**

  82. * 獲取本地主機

  83. * @return

  84. */

  85. public static InetAddress getInetAddress() {

  86. try {

  87. return InetAddress.getLocalHost();

  88. } catch (UnknownHostException e) {

  89. System.out.println("unknown host!");

  90. }

  91. return null;

  92. }

  93.  
  94. /**

  95. * 通過InetAddress獲取本地Ip

  96. * @param netAddress

  97. * @return

  98. */

  99. public static String getHostIp(InetAddress netAddress) {

  100. if (null == netAddress) {

  101. return null;

  102. }

  103. String ip = netAddress.getHostAddress();

  104. return ip;

  105. }

  106.  
  107. /**

  108. * 通過InetAddress獲取本地主機的名字

  109. * @param netAddress

  110. * @return

  111. */

  112. public static String getHostName(InetAddress netAddress) {

  113. if (null == netAddress) {

  114. return null;

  115. }

  116. String name = netAddress.getHostName();

  117. return name;

  118. }

  119. }

 

 

然而在Android系統中,卻要使用另一種方法才能遍歷獲得系統的一些屬性


 
  1. Properties ps = System.getProperties();

  2. Set<Entry<Object, Object>> set = ps.entrySet();

  3. for(Entry<Object, Object> ent : set){

  4. Log.v("ent", "key:" + ent.getKey() + " |value: " + ent.getValue());

  5. }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章