在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地址。
讓我們壹起來試試吧!