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

橙子8145 2013-08-04 02:25:02
代码是这样的
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
...全文
460 2 打赏 收藏 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
橙子8145 2013-08-04
  • 打赏
  • 举报
回复
打印出来就是我本机的ip啊 ip不合法?怎么回事?
  • 打赏
  • 举报
回复
先打印下看看你ip输出的是什么,感觉应该是ip不是合法的ip造成的。

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧