日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

JAVA获取系统相关信息

發布時間:2025/4/14 windows 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JAVA获取系统相关信息 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

獲取JRE系統相關參數

?java 通過System.getProperties()獲取系統參數

? Properties props=System.getProperties(); //系統屬性

//???Set<Object> keySet = sysProperty.keySet();
//???for (Object object : keySet) {
//????String property = sysProperty.getProperty(object.toString());
//????System.out.println(object.toString()+" : "+property);
//???}
?? 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"));

??? http://www.blogjava.net/void241/archive/2009/06/04/279971.html

二、獲取系統環境變量

  Map<String, String> getenv = System.getenv();

?

三、獲取IP、 計算機名、MAC、 硬盤卷序號

?

package?com.geocompass.geosearch.tools;

import?java.io.BufferedReader;
import?java.io.IOException;
import?java.io.InputStreamReader;
import?java.net.InetAddress;
import?java.net.NetworkInterface;
import?java.net.SocketException;
import?java.net.UnknownHostException;
import?java.util.Properties;

/**
?*?獲取當前系統信息
?*?
@author?gxsn
?*
?
*/
public?class?SystemInfo?{
????//當前實例
????private?static?SystemInfo?currentSystem=null;
????private??InetAddress?localHost=null;
????
????private?SystemInfo()
????{
????????try?{
????????????localHost?=?InetAddress.getLocalHost();
????????}?catch?(UnknownHostException?e)?{
????????????//?TODO?Auto-generated?catch?block
????????????e.printStackTrace();
????????}
????}
????
????/**
?????*?單例模式獲取對象
?????*?
@return
?????
*/
????public?static?SystemInfo?getInstance()
????{
????????if(currentSystem==null)
????????????currentSystem=?new?SystemInfo();
????????return?currentSystem;
????}
????/**
?????*?本地IP
?????*?
@return?IP地址
?????
*/
????public?String?getIP()
????{
????????String?ip=localHost.getHostAddress();
????????return?ip;
????}
????/**
?????*?獲取用戶機器名稱
?????*?
@return
?????
*/
????public?String?getHostName()
????{
????????return?localHost.getHostName();
????}
????
????/**
?????*?獲取C盤卷?序列號
?????*?
@return
?????
*/
????public?String?getDiskNumber()
????{
??????????String?line?=?"";
??????????String?HdSerial?=?"";//記錄硬盤序列號

??????????try?{

???????????Process?proces?=?Runtime.getRuntime().exec("cmd?/c?dir?c:");//獲取命令行參數
???????????BufferedReader?buffreader?=?new?BufferedReader(
?????????????new?InputStreamReader(proces.getInputStream()));

???????????while?((line?=?buffreader.readLine())?!=?null)?{

????????????if?(line.indexOf("卷的序列號是?")?!=?-1)?{??//讀取參數并獲取硬盤序列號

?????????????HdSerial?=?line.substring(line.indexOf("卷的序列號是?")
???????????????+?"卷的序列號是?".length(),?line.length());
?????????????break;
????????????}
???????????}

??????????}?catch?(IOException?e)?{
???????????//?TODO?Auto-generated?catch?block
???????????e.printStackTrace();
??????????}

??????????return?HdSerial;
????}
????
????/**
?????*?獲取Mac地址
?????*?
@return?Mac地址,例如:F0-4D-A2-39-24-A6
?????
*/
????public?String?getMac()
????{
????????NetworkInterface?byInetAddress;
????????try?{
????????????byInetAddress?=?NetworkInterface.getByInetAddress(localHost);
????????????byte[]?hardwareAddress?=?byInetAddress.getHardwareAddress();
????????????return?getMacFromBytes(hardwareAddress);
????????}?catch?(SocketException?e)?{
????????????//?TODO?Auto-generated?catch?block
????????????e.printStackTrace();
????????}
????????return?null;????????
????}
????
????/**
?????*?獲取當前系統名稱
?????*?
@return?當前系統名,例如:?windows?xp
?????
*/
????public?String?getSystemName()
????{
????????Properties?sysProperty?=?System.getProperties();
????????//系統名稱
????????String?systemName=sysProperty.getProperty("os.name");
????????return?systemName;
????}
????
????private??String?getMacFromBytes(byte[]?bytes)
????{
????????StringBuffer?mac=new?StringBuffer();
????????byte?currentByte;
????????boolean?first=false;
????????for?(byte?b?:?bytes)?{
????????????if(first)
????????????{
????????????????mac.append("-");????
????????????}
????????????currentByte=(byte)((b&240)>>4);
????????????mac.append(Integer.toHexString(currentByte));
????????????currentByte=(byte)(b&15);
????????????mac.append(Integer.toHexString(currentByte));
????????????first=true;
????????}
????????return?mac.toString().toUpperCase();
????}
}

四、執行系統命令 jar包

Sigar.jar? 參見:http://sourceforge.net/projects/sigar/files/

?

五、獲取端口號

?

? public static String getOpenPorts() {

??? String line = "";
??? String HdSerial = "";//記錄硬盤序列號
??? StringBuffer buf = new StringBuffer("");
??? try {

???? Process proces = Runtime.getRuntime().exec("cmd /c netstat -a");//獲取命令行參數
???? BufferedReader buffreader = new BufferedReader(
?????? new InputStreamReader(proces.getInputStream()));
???
???? while ((line = buffreader.readLine()) != null) {
????? buf.append(line+"\n");
????? System.out.println(line);
????? }

??? } catch (IOException e) {
???? // TODO Auto-generated catch block
???? e.printStackTrace();
??? }

??? return buf.toString();
?? }

?

?? VBS文件獲取硬盤系列號

?public static String getSerialNumber(String drive) {
??? String result = "";
????? try {
??????? File file = File.createTempFile("realhowto",".vbs");
??????? file.deleteOnExit();
??????? FileWriter fw = new java.io.FileWriter(file);

??????? String vbs = "Set objFSO = CreateObject(\"Scripting.FileSystemObject\")\n"
??????????????????? +"Set colDrives = objFSO.Drives\n"
??????????????????? +"Set objDrive = colDrives.item(\"" + drive + "\")\n"
??????????????????? +"Wscript.Echo objDrive.SerialNumber";? // see note
??????? fw.write(vbs);
??????? fw.close();
??????? Process p = Runtime.getRuntime().exec("cscript //NoLogo " + file.getPath());
??????? BufferedReader input =
????????? new BufferedReader
??????????? (new InputStreamReader(p.getInputStream()));
??????? String line;
??????? while ((line = input.readLine()) != null) {
?????????? result += line;
??????? }
??????? input.close();
????? }
????? catch(Exception e){
????????? e.printStackTrace();
????? }
????? return result.trim();
??? }

?http://www.rgagnon.com/javadetails/java-0580.html

?http://zhkl0228.itpub.net/post/16467/407721

?

MI技巧-取網卡的MAC地址,CPU,主板,硬盤序列號

http://jishudaima.iteye.com/blog/918526

轉載于:https://www.cnblogs.com/wuhenke/archive/2011/11/19/2255400.html

總結

以上是生活随笔為你收集整理的JAVA获取系统相关信息的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。