В настоящее время я работаю над проектом Smartmirror с Raspberry Pi Zero W, и мне нужна моя java-программа для проверки интернет-соединения, чтобы я знал, могу ли я обновить данные о погоде. Для этого метода я использую команду iwgetid, чтобы получить SSID. Проблема в следующем: я беру возврат командной строки и помещаю его в блок if. Несмотря на то, что возвращение (которое я проверил, является правильным выводом) является правильным, логическое значение возвращает false в качестве вывода.
public boolean checkwifi() throws IOException, InterruptedException{
ProcessBuilder ps = new ProcessBuilder("iwgetid");
ps.redirectErrorStream(true);
Process pr = ps.start();
BufferedReader in = new BufferedReader(new InputStreamReader(pr.getInputStream()));
String line;
line=in.readLine();
line.trim();
if(line == "wlan0 ESSID:\"mySSID\"" || line== "wlan0 ESSID:\"mysecondSSID\"" ){
pr.waitFor();
in.close();
return true;
}
else {
System.err.println(line);
pr.waitFor();
in.close();
return false;
}
}
Это вывод, который я получаю из консоли:
wlan0 ESSID:"mySSID"
false