inputstream:无法读取字符串

ctrmrzij  于 2021-06-30  发布在  Java
关注(0)|答案(0)|浏览(202)

我想看看考试结果 get-wmiobject -class win32_printer | Select-Object Name, WorkOffline | where {$_.Name -eq 'printerName'} processbuilder通过inputstream从powershell发出命令,以查明打印机当前是否连接到计算机。如果我的功能

public static String getStringFromInputStream(InputStream is) {
    System.out.println(66);
    ByteArrayOutputStream result = new ByteArrayOutputStream();
    System.out.println(68);
    byte[] buffer = new byte[1024];
    int length;
    try {
        System.out.println(70);
        while ((length = is.read(buffer)) != -1) {
            System.out.println(74);
            result.write(buffer, 0, length);
            System.out.println(76);
        }
    } catch (IOException e1) {
        System.out.println("79");
        e1.printStackTrace();
    }

    String finalResult = "";
    System.out.println(82);
    finalResult = result.toString("CP866");
    System.out.println(84);
    return finalResult;
}

如您所见,为了调试,我想打印出代码行。这里是我在控制台中的输出:

66
68
70
74
76
74
76
74
76
74
76
74
76

正如您所看到的,while循环既不存在也不继续。也不会引发任何异常。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题