有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用Java将字符串与CMD输出进行比较

我试图创建一个方法,根据sfc/scannow的结果返回true或false,但出于某种原因,字符串比较总是返回false,即使它打印的内容与我比较的内容完全相同。有什么想法吗

ProcessBuilder builder = new ProcessBuilder("cmd.exe", "/c", "sfc /scannow");
builder.redirectErrorStream(true);
Process p = builder.start();
Scanner sn = new Scanner(new InputStreamReader(p.getInputStream()));
while (sn.hasNextLine()) {
    String line = sn.nextLine();
    System.out.println(line);
    if(line.equalsIgnoreCase("Windows Resource Protection did not find any integrity violations.")) {
        isHealthy = true;
        break;
    }
}
if(isHealthy == true) {
    return true;
}
else if(isHealthy == false) {
    return false;
}

共 (0) 个答案