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()); }