作者averywu (看文不要只會用橫的看)
看板java
標題[問題] 取得MacAddress
時間Sun Dec 5 18:26:27 2010
不才因為專案需要,所以抓了一些網路上的資源來學習。
之前不曾使用過 JAVA ,所以一些問題想跟先進們請教:
我調用了 getHardwareAddress() 這個函式,但是總取不到值。
(值會是NULL)。
以下為CODE:
import java.net.*;
public class GetHardwareAddress {
public static void main(String args[]) throws Exception {
NetworkInterface networkInterface = NetworkInterface.getByName("eth0");
byte b1[] = networkInterface.getHardwareAddress();
System.out.print("Hardware Address = ");
for (int i = 0; i < b1.length; i++) {
System.out.print(b1[i]);
}
}
}
這樣可以編釋,但是執行會出問題,
Exception in thread "main" java.lang.NullPointerException
查了是說判斷式或條件中的變數為NULL時會產生此問題。
我也試過一些其它的Sample,但通通失敗。
例:
http://techdetails.agwego.com/2008/02/11/37/
這網址的教學 Code 在我的機器上也不能跑。(事實上能跑,但return 的值
還是NULL。
請問這大概是哪出問題呢?
感謝您的指點。
看來二天內完全不曾摸過JAVA想寫出這功能對我來說太難了。
--
小惡魔的家
http://blog.pixnet.net/shiuju/
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.124.142.152
→ pico2k:你用哪一個平台?(win32 or linux) 12/05 19:45
→ averywu:用的是OSX(bass on bad) 12/05 19:48
→ averywu:(bass on bsd 打太快... 12/05 19:50
→ n3oanderson:先用ifconfig查機器上nic名稱,再根據該名稱改 12/05 20:35
→ n3oanderson:getByName裡邊的nic字串. 12/05 20:37
→ willieliao:"Based on BSD"...:P 12/10 02:39