作者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
1F:→ pico2k:你用哪一个平台?(win32 or linux) 12/05 19:45
2F:→ averywu:用的是OSX(bass on bad) 12/05 19:48
3F:→ averywu:(bass on bsd 打太快... 12/05 19:50
4F:→ n3oanderson:先用ifconfig查机器上nic名称,再根据该名称改 12/05 20:35
5F:→ n3oanderson:getByName里边的nic字串. 12/05 20:37
6F:→ willieliao:"Based on BSD"...:P 12/10 02:39