为了账号安全,请及时绑定邮箱和手机立即绑定

Java 运行时遇到问题

Java 运行时遇到问题

郎朗坤 2021-05-31 16:06:30
帮帮我 我是 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 回答

?
桃花长相依

TA贡献1860条经验 获得超8个赞

您必须使用exec()接受 a的重载String[]来指定命令和命令的参数,例如:

p1 = Runtime.getRuntime().exec(new String[]{"cmd", "/c", "netsh"});

请注意,netsh如果可执行文件包含在运行命令的环境路径或工作目录(您可以设置)中,您也可以在没有 cmd 命令的情况下运行该命令:

p1 = Runtime.getRuntime().exec("netsh");


查看完整回答
反对 回复 2021-06-02
  • 2 回答
  • 0 关注
  • 130 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信