我正在尝试发现本地网络中所有计算机的mac地址。
到目前为止我所拥有的是import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;
public class Network_discovery {
public static void main()throws Exception{
for (int i=1;i<254;i++){
int timeout=1000;
try{
String host="192.168.2" + "." + i;
InetAddress address = InetAddress.getByName(host);
NetworkInterface ni = NetworkInterface.getByInetAddress(address);
byte[] mac = ni.getHardwareAddress();
if (mac != null) {
for (int y = 0; y < mac.length; y++) {
System.out.format("%02X%s", mac[y], (y < mac.length - 1) ? "-" : "");
}
}
}
catch (UnknownHostException|SocketException e) {
e.printStackTrace();
}
}
}
}
但我收到错误“线程中的异常”主“java.lang.NullPointerException 在network_discovery.Network_discovery.main(Network_discovery.java:30) Java结果:1“
我做错了什么?