當前位置:編程學習大全網 - 編程語言 - java socket編程如何獲得原生mac-CSDN論壇

java socket編程如何獲得原生mac-CSDN論壇

工具/原材料

在java環境下配置了互聯網接入的計算機。

Java獲取本地Mac地址

首先,創建壹個項目、壹個包和壹個類。

這裏不贅述,直接看代碼。

在這裏,我將這個類命名為GetMacAddr。

這裏,最重要的是這裏的這個方法。

我們通過網絡接口類進行操作。

也就是說,本地IP是通過getLocalHost()方法獲得的。

然後調用getHardwareAddress()方法獲取壹個字節數組的地址。

我們將六位地址傳遞給壹個字節數組並輸出它。

廢話不多說,看代碼:

私有void getMACAddr()

拋出SocketException,UnknownHostException {

//獲取IP

網絡接口網絡接口=

network interface . getbyinetaddress(inetaddress . getlocalhost());

//獲取Mac地址的字節數組。

byte[]MAC addr = net interface . gethardwareaddress();

system . out . print(" MAC Addr:\ t ");

//循環輸出

for(字節b : macAddr) {

//這裏的toHexString()是自己寫的print format的方法。見下壹步。

system . out . print(toHexString(b)+" ");

}

}

為什麽上壹步會出現toHexString()方法?

因為從10轉換到16時可能會有壹個字符,

所以,如果有單個字符,我們在它前面加壹個“0”作為占位符。

這也是為了視覺直覺,也是跟個人習慣有關。

私有靜態字符串到exString(int integer) {

//將獲得的int數轉換為十六進制數。

string str = integer . tohexstring((int)(integer & amp;0x ff));

//如果遇到單個字符,前導0會占用兩個空格。

if (str.length() == 1) {

str = " 0 "+str;

}

返回字符串;

}

然後,我們寫壹個簡單的main方法來測試壹下。

公共靜態void main(String[] args)

拋出SocketException,UnknownHostException {

新的GetMacAddr()。getMACAddr();

}

結果是正確的,我們得到了本地MAC地址。

讓我們壹起來試試吧!

  • 上一篇:相同的卡特彼勒編程
  • 下一篇:編程贏未來。
  • copyright 2024編程學習大全網