当前位置:编程学习 > JAVA >>

java取客户端mac地址为什么报java.io.IOException: CreateProcess error=2

代码是这样的
public static String getIP() {

try {
FacesContext fc = FacesContext.getCurrentInstance();
HttpServletRequest request = (HttpServletRequest) fc
.getExternalContext().getRequest();
return request.getRemoteAddr();
} catch (Exception e) {

e.printStackTrace();
}
return "";
}
这里取ip地址
public static String getMac(String ip) {
String str = "";
String macAddress = "";
Process p;
try {
p = Runtime.getRuntime().exec("nbtstat -A " + ip);
InputStreamReader ir = new InputStreamReader(p.getInputStream());
LineNumberReader input = new LineNumberReader(ir);
for (int i = 1; i < 100; i++) {
str = input.readLine();
if (str != null) {
if (str.indexOf("MAC Address") > 1) {
macAddress = str.substring(
str.indexOf("MAC Address") + 14, str.length());
break;
}
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return macAddress;
取mac

public static void main(String[] args) {

System.out.println( getMac( getIP()));
}
运行出来

报异常....求高人指导 谢谢


java.lang.NullPointerException
at com.getMAc.getIP(getMAc.java:17)
at com.getMAc.main(getMAc.java:54)
java.io.IOException: Cannot run program "nbtstat": CreateProcess error=2, ?????????
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at com.getMAc.getMac(getMAc.java:31)
at com.getMAc.main(getMAc.java:54)
Caused by: java.io.IOException: CreateProcess error=2, ?????????
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
... 6 more
Java Mac 异常 --------------------编程问答-------------------- 先打印下看看你ip输出的是什么,感觉应该是ip不是合法的ip造成的。 --------------------编程问答-------------------- 打印出来就是我本机的ip啊 ip不合法?怎么回事?
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,