在Java中获取附近的BSSID和信号强度
我需要得到附近的BSSID的信号强度使用Java。 类似于netsh wlan show networks mode=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
有可能吗?尝试实现这样的方法:当然,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的解析部分。。。谢谢大家!!