Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java运行时遇到问题_Java - Fatal编程技术网

在Java运行时遇到问题

在Java运行时遇到问题,java,Java,帮助我我是Java新手,目前正在做一个学校项目,需要我使用runtime来使用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() {

帮助我我是Java新手,目前正在做一个学校项目,需要我使用runtime来使用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.");
    }
}

}

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

p1 = Runtime.getRuntime().exec(new String[]{"cmd", "/c", "netsh"});
请注意,如果可执行文件包含在运行命令的环境路径或工作目录(您可以设置)中,则也可以在不使用cmd命令的情况下运行
netsh
命令:

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

必须将参数作为单独的字传递给
exec()

这里有一个方法:

p1 = Runtime.getRuntime().exec(("cmd /c " + netsh).split("\\s+"));

如果代码是一致缩进的,那么它会更容易阅读。由于某种原因,在运行它时,控制台会终止它。你知道为什么吗?