主流有幾種方法,一種是用下面的函數
publicstaticStringgetProperty(Stringkey)
鍵 | 相關值的描述 |
---|---|
java.version | java.version Java 運行時環境版本 |
java.vendor | java.vendor Java 運行時環境供應商 |
java.vendor.url | java.vendor.url Java 供應商的 URL |
java.home | java.home Java 安裝目錄 |
java.vm.specification.version | java.vm.specification.version Java 虛擬機規范版本 |
java.vm.specification.vendor | java.vm.specification.vendor Java 虛擬機規范供應商 |
java.vm.specification.name | java.vm.specification.name Java 虛擬機規范名稱 |
java.vm.version | java.vm.version Java 虛擬機實現版本 |
java.vm.vendor | java.vm.vendor Java 虛擬機實現供應商 |
java.vm.name | java.vm.name Java 虛擬機實現名稱 |
java.specification.version | java.specification.version Java 運行時環境規范版本 |
java.specification.vendor | java.specification.vendor Java 運行時環境規范供應商 |
java.specification.name | java.specification.name Java 運行時環境規范名稱 |
java.class.version | java.class.version Java 類格式版本號 |
java.class.path | java.class.path Java 類路徑 |
java.library.path | java.library.path 加載庫時搜索的路徑列表 |
java.io.tmpdir | java.io.tmpdir 默認的臨時文件路徑 |
java.compiler | java.compiler 要使用的 JIT 編譯器的名稱 |
java.ext.dirs | java.ext.dirs 一個或多個擴展目錄的路徑 |
os.name | os.name 操作系統的名稱 |
os.arch | os.arch 操作系統的架構 |
os.version | os.version 操作系統的版本 |
file.separator | file.separator 文件分隔符(在 UNIX 系統中是“/”) |
path.separator | path.separator 路徑分隔符(在 UNIX 系統中是“:”) |
line.separator | line.separator 行分隔符(在 UNIX 系統中是“/n”) |
user.name | user.name 用戶的賬戶名稱 |
user.home | user.home 用戶的主目錄 |
user.dir | user.dir 用戶的當前工作目錄 |
一種是用命令行來獲取
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.InetAddress; import java.net.NetworkInterface; import java.util.ArrayList; import java.util.Formatter; import java.util.List; import java.util.Locale; import java.util.Map; import java.util.Properties; public class test { //通過截取cmd流方式得到計算機的配置信息(不好) public static List<String> getIpAddress() { Process p = null ; List<String> address = new ArrayList<String>(); try { p = new ProcessBuilder( "ipconfig" , "/all" ).start(); } catch (Exception e) { return address; } StringBuffer sb = new StringBuffer(); //讀取進程輸出值 InputStream inputStream = p.getInputStream(); BufferedReader br = new BufferedReader( new InputStreamReader(inputStream)); String s = "" ; try { while ((s = br.readLine()) != null ) { sb.append(s + "\n" ); } } catch (Exception e) { e.printStackTrace(); } finally { try { inputStream.close(); } catch (Exception e) { e.printStackTrace(); } } System.out.println(sb); return address; } public static void getIpconfig() { Map<String, String> map = System.getenv(); System.out.println(map.get( "USERNAME" )); //獲取用戶名 System.out.println(map.get( "COMPUTERNAME" )); //獲取計算機名 System.out.println(map.get( "USERDOMAIN" )); //獲取計算機域名 } //得到計算機的ip地址和mac地址 public static void getConfig() { try { InetAddress address = InetAddress.getLocalHost(); NetworkInterface ni = NetworkInterface.getByInetAddress(address); //ni.getInetAddresses().nextElement().getAddress(); byte [] mac = ni.getHardwareAddress(); String sIP = address.getHostAddress(); String sMAC = "" ; Formatter formatter = new Formatter(); for ( int i = 0 ; i < mac.length; i++) { sMAC = formatter.format(Locale.getDefault(), "%02X%s" , mac[i], (i < mac.length - 1 ) ? "-" : "" ).toString(); } System.out.println( "IP:" + sIP); System.out.println( "MAC:" + sMAC); } catch (Exception e) { e.printStackTrace(); } } //得到計算機的ip,名稱,操作系統名稱,操作系統版本 public static void Config() { try { InetAddress addr = InetAddress.getLocalHost(); String ip = addr.getHostAddress().toString(); //獲取本機ip String hostName = addr.getHostName().toString(); //獲取本機計算機名稱 System.out.println( "本機IP:" + ip + "\n本機名稱:" + hostName); Properties props = System.getProperties(); System.out.println( "操作系統的名稱:" + props.getProperty( "os.name" )); System.out.println( "操作系統的版本:" + props.getProperty( "os.version" )); } catch (Exception e) { e.printStackTrace(); } } //其它的一些東西,會有用到的時候的 public static void all() { Properties props = System.getProperties(); System.out.println( "Java的運行環境版本:" + props.getProperty( "java.version" )); System.out.println( "Java的運行環境供應商:" + props.getProperty( "java.vendor" )); System.out.println( "Java供應商的URL:" + props.getProperty( "java.vendor.url" )); System.out.println( "Java的安裝路徑:" + props.getProperty( "java.home" )); System.out.println( "Java的虛擬機規范版本:" + props.getProperty( "java.vm.specification.version" )); System.out.println( "Java的虛擬機規范供應商:" + props.getProperty( "java.vm.specification.vendor" )); System.out.println( "Java的虛擬機規范名稱:" + props.getProperty( "java.vm.specification.name" )); System.out.println( "Java的虛擬機實現版本:" + props.getProperty( "java.vm.version" )); System.out.println( "Java的虛擬機實現供應商:" + props.getProperty( "java.vm.vendor" )); System.out.println( "Java的虛擬機實現名稱:" + props.getProperty( "java.vm.name" )); System.out.println( "Java運行時環境規范版本:" + props.getProperty( "java.specification.version" )); System.out.println( "Java運行時環境規范供應商:" + props.getProperty( "java.specification.vender" )); System.out.println( "Java運行時環境規范名稱:" + props.getProperty( "java.specification.name" )); System.out.println( "Java的類格式版本號:" + props.getProperty( "java.class.version" )); System.out.println( "Java的類路徑:" + props.getProperty( "java.class.path" )); System.out.println( "加載庫時搜索的路徑列表:" + props.getProperty( "java.library.path" )); System.out.println( "默認的臨時文件路徑:" + props.getProperty( "java.io.tmpdir" )); System.out.println( "一個或多個擴展目錄的路徑:" + props.getProperty( "java.ext.dirs" )); System.out.println( "操作系統的名稱:" + props.getProperty( "os.name" )); System.out.println( "操作系統的構架:" + props.getProperty( "os.arch" )); System.out.println( "操作系統的版本:" + props.getProperty( "os.version" )); System.out.println( "文件分隔符:" + props.getProperty( "file.separator" )); //在 unix 系統中是"/" System.out.println( "路徑分隔符:" + props.getProperty( "path.separator" )); //在 unix 系統中是":" System.out.println( "行分隔符:" + props.getProperty( "line.separator" )); //在 unix 系統中是"/n" System.out.println( "用戶的賬戶名稱:" + props.getProperty( "user.name" )); System.out.println( "用戶的主目錄:" + props.getProperty( "user.home" )); System.out.println( "用戶的當前工作目錄:" + props.getProperty( "user.dir" )); } public static void main(String[] args) { getConfig(); Config(); all(); } } |
總結
以上就是本文關于Java獲取當前操作系統的信息實例代碼的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
原文鏈接:http://blog.csdn.net/u013007900/article/details/50428943