在Java中获取附近的BSSID和信号强度

在Java中获取附近的BSSID和信号强度,java,wifi,bssid,Java,Wifi,Bssid,我需要得到附近的BSSID的信号强度使用Java。 类似于netsh wlan show networks mode=BSSID的输出 有可能吗?尝试实现这样的方法:当然,cmd字符串中的命令仅适用于Windows操作系统 wlanResults.append。。。;只是将结果写入gui中的jTextArea,这是我正在处理的程序的一部分 public void getWLANbssidInfo(){ String cmd = "netsh wlan show network mode

我需要得到附近的BSSID的信号强度使用Java。 类似于netsh wlan show networks mode=BSSID的输出


有可能吗?

尝试实现这样的方法:当然,cmd字符串中的命令仅适用于Windows操作系统

wlanResults.append。。。;只是将结果写入gui中的jTextArea,这是我正在处理的程序的一部分

public void getWLANbssidInfo(){
     String cmd = "netsh wlan show network mode=bssid";

        try {

            Process p3;
             p3 = Runtime.getRuntime().exec("cmd /c " + cmd);
             p3.waitFor();
             BufferedReader reader = new BufferedReader(new InputStreamReader(p3.getInputStream()));
             String line = reader.readLine();
             while(line!=null){
                 wlanResults.append(line + "\n");
                 System.out.println(line);
                 line = reader.readLine();
             }
        } catch (IOException ex) {

            wlanResults.append("Comand error\n" + ex);
            System.out.println("There was an IO exception.");

        } catch (InterruptedException ex) {
            wlanResults.append("Command was interrupted: " + ex);
            System.out.println("The command was interrupted.");
        }

}

可能吗?对容易吗?可能不会。这可能需要特定于平台的代码,那么针对哪个平台呢?你的命令在平台上有效吗?如果是这样的话,您可以使用ProcessBuilder.Windows来执行它。是的,这个命令在windows上工作,但是如果可能的话,我需要一个纯Java的解决方案。谢谢你的评论!请注意,如果没有一些JNI代码,纯Java解决方案可能是不可能的,这使得它特定于平台。您最好的选择是在Windows上通过ProcessBuilder使用netsh,为您需要瞄准的其他操作系统找到类似的机制。愿上帝与我同在,帮助您完成ProcessBuilder的解析部分。。。谢谢大家!!