帮帮我 我是 Java 新手,目前正在做一个学校项目,需要我使用运行时来使用 netsh 来查找 WLAN ssid 和 mac 地址。但是控制台一直给我这个(Microsoft Windows [Version 10.0.17134.165] (c) 2018 Microsoft Corporation。保留所有权利。)我如何让它显示 netsh 命令输出public static void main(String args[]) {}public void getWLANbssidInfo() { String netsh = "netsh wlan show networks mode = bssid"; try { Process p1; p1 = Runtime.getRuntime().exec("cmd /c " + netsh); p1.waitFor(); BufferedReader reader = new BufferedReader(new InputStreamReader(p1.getInputStream())); String line = reader.readLine(); while(line!=null){ System.out.println(line); line = reader.readLine(); } } catch (IOException ex) { System.out.println("There was an IO exception."); } catch (InterruptedException ex) { System.out.println("The command was interrupted."); }}}
2 回答
![?](http://img1.sycdn.imooc.com/545868330001e54e02200220-100-100.jpg)
桃花长相依
TA贡献1860条经验 获得超8个赞
您必须使用exec()
接受 a的重载String[]
来指定命令和命令的参数,例如:
p1 = Runtime.getRuntime().exec(new String[]{"cmd", "/c", "netsh"});
请注意,netsh
如果可执行文件包含在运行命令的环境路径或工作目录(您可以设置)中,您也可以在没有 cmd 命令的情况下运行该命令:
p1 = Runtime.getRuntime().exec("netsh");
添加回答
举报
0/150
提交
取消