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 用戶的當前工作目錄
下面是針對這些參數進行的一個測試,代碼如下:
-
import java.io.File;
-
import java.io.FileOutputStream;
-
import java.io.OutputStream;
-
import java.net.InetAddress;
-
import java.net.UnknownHostException;
-
import java.util.Properties;
-
import java.util.Set;
-
public class MyJavaMain {
-
public static void main(String[] args) throws Exception {
-
//通過StringBuilder來構建要輸出的內容
-
StringBuilder sb = new StringBuilder();
-
sb.append("Java 運行時環境版本:"+System.getProperty("java.version")+"\n");
-
sb.append("Java 運行時環境供應商:"+System.getProperty("java.vendor")+"\n");
-
sb.append("Java 供應商的URL:"+System.getProperty("java.vendor.url")+"\n");
-
sb.append("Java 安裝目錄:"+System.getProperty("java.home")+"\n");
-
sb.append("Java 虛擬機規範版本:"+System.getProperty("java.vm.specification.version")+"\n");
-
sb.append("Java 類格式版本號:"+System.getProperty("java.class.version")+"\n");
-
sb.append("Java類路徑:"+System.getProperty("java.class.path")+"\n");
-
sb.append("加載庫時搜索的路徑列表:"+System.getProperty("java.library.path")+"\n");
-
sb.append("默認的臨時文件路徑:"+System.getProperty("java.io.tmpdir")+"\n");
-
sb.append("要使用的 JIT 編譯器的名稱:"+System.getProperty("java.compiler")+"\n");
-
sb.append("一個或多個擴展目錄的路徑:"+System.getProperty("java.ext.dirs")+"\n");
-
sb.append("操作系統的名稱:"+System.getProperty("os.name")+"\n");
-
sb.append("操作系統的架構:"+System.getProperty("os.arch")+"\n");
-
sb.append("操作系統的版本:"+System.getProperty("os.version")+"\n");
-
sb.append("文件分隔符(在 UNIX 系統中是“/”):"+System.getProperty("file.separator")+"\n");
-
sb.append("路徑分隔符(在 UNIX 系統中是“:”):"+System.getProperty("path.separator")+"\n");
-
sb.append("行分隔符(在 UNIX 系統中是“/n”):"+System.getProperty("line.separator")+"\n");
-
sb.append("用戶的賬戶名稱:"+System.getProperty("user.name")+"\n");
-
sb.append("用戶的主目錄:"+System.getProperty("user.home")+"\n");
-
sb.append("用戶的當前工作目錄:"+System.getProperty("user.dir")+"\n");
-
//新建一個文件,如果該文件不存在則創建一個
-
File file = new File("c:\\t.txt");
-
if( !file.exists()){
-
file.createNewFile();
-
}
-
OutputStream ous = new FileOutputStream(file);
-
//獲取系統的屬性
-
Properties ps = System.getProperties();
-
//獲得系統屬性中的鍵值
-
Set<String> set = ps.stringPropertyNames();
-
for(String name: set){
-
sb.append(name + " : " +ps.getProperty(name) + "\n");
-
System.out.println(name + " : " +ps.getProperty(name) );
-
}
-
ous.write(sb.toString().getBytes());
-
ous.close();
-
System.out.println(System.getProperty("os.name"));
-
System.out.println(System.getProperty("os.version"));
-
System.out.println("Java運行時環境版本:"+System.getProperty("java.version"));
-
System.out.println("Java 運行時環境供應商:"+System.getProperty("java.vendor"));
-
System.out.println("Java 供應商的URL:"+System.getProperty("java.vendor.url"));
-
System.out.println("Java 安裝目錄:"+System.getProperty("java.home"));
-
System.out.println("Java 虛擬機規範版本:"+System.getProperty("java.vm.specification.version"));
-
System.out.println("Java 類格式版本號:"+System.getProperty("java.class.version"));
-
System.out.println("Java 類路徑:"+System.getProperty("java.class.path"));
-
System.out.println("加載庫時搜索的路徑列表:"+System.getProperty("java.library.path"));
-
System.out.println("默認的臨時文件路徑:"+System.getProperty("java.io.tmpdir"));
-
System.out.println("要使用的 JIT 編譯器的名稱:"+System.getProperty("java.compiler"));
-
System.out.println("一個或多個擴展目錄的路徑:"+System.getProperty("java.ext.dirs"));
-
System.out.println("操作系統的名稱:"+System.getProperty("os.name"));
-
System.out.println("操作系統的架構:"+System.getProperty("os.arch"));
-
System.out.println("操作系統的版本:"+System.getProperty("os.version"));
-
System.out.println("文件分隔符(在 UNIX 系統中是“/”):"+System.getProperty("file.separator"));
-
System.out.println("路徑分隔符(在 UNIX 系統中是“:”):"+System.getProperty("path.separator"));
-
System.out.println("行分隔符(在 UNIX 系統中是“/n”):"+System.getProperty("line.separator"));
-
System.out.println("用戶的賬戶名稱:"+System.getProperty("user.name"));
-
System.out.println("用戶的主目錄:"+System.getProperty("user.home"));
-
System.out.println("用戶的當前工作目錄: "+System.getProperty("user.dir"));
-
InetAddress netAddress = getInetAddress();
-
System.out.println("host ip:" + getHostIp(netAddress));
-
System.out.println("host name:" + getHostName(netAddress));
-
}
-
/**
-
* 獲取本地主機
-
* @return
-
*/
-
public static InetAddress getInetAddress() {
-
try {
-
return InetAddress.getLocalHost();
-
} catch (UnknownHostException e) {
-
System.out.println("unknown host!");
-
}
-
return null;
-
}
-
/**
-
* 通過InetAddress獲取本地Ip
-
* @param netAddress
-
* @return
-
*/
-
public static String getHostIp(InetAddress netAddress) {
-
if (null == netAddress) {
-
return null;
-
}
-
String ip = netAddress.getHostAddress();
-
return ip;
-
}
-
/**
-
* 通過InetAddress獲取本地主機的名字
-
* @param netAddress
-
* @return
-
*/
-
public static String getHostName(InetAddress netAddress) {
-
if (null == netAddress) {
-
return null;
-
}
-
String name = netAddress.getHostName();
-
return name;
-
}
-
}
然而在Android系統中,卻要使用另一種方法才能遍歷獲得系統的一些屬性
-
Properties ps = System.getProperties();
-
Set<Entry<Object, Object>> set = ps.entrySet();
-
for(Entry<Object, Object> ent : set){
-
Log.v("ent", "key:" + ent.getKey() + " |value: " + ent.getValue());
-
}