java - BufferedReader 未按预期工作

标签 java bufferedreader

在这行“bufferedReader.readLine(); ”之后,下面的代码没有完全执行。当我执行系统命令时,该程序工作正常 提及远程 PC 的 IP 地址。

class Test    
{       
public static void main(String arg[])    
{    
     Process p;    
     Runtime runTime;    
     String process = null;    
     try {    
        runTime = Runtime.getRuntime();    
        p = runTime.exec("sc \\xx.xx.xx.xx query gpsvc");      // For Windows    
        InputStream inputStream = p.getInputStream();    
        InputStreamReader inputStreamReader = new InputStreamReader(inputStream);    
        BufferedReader bufferedReader = new BufferedReader(inputStreamReader);    
        String line = bufferedReader.readLine();    
        process = "&";    
        while (line != null) {    
            line = bufferedReader.readLine();    
            process += line + "&";    
        }    
        StringTokenizer st = new StringTokenizer(proc, "&");    
        System.out.println("token size "+st.countTokens());    
        while (st.hasMoreTokens()) {        
            String testData = st.nextToken();    
        bufferedReader.close();    
        inputStreamReader.close();    
        inputStream.close();    
        }    

     } catch (IOException e) {    
       System.out.println("Exception arise during the read Processes");    
       e.printStackTrace();    
     }    

}    
}        

最佳答案

检查 exec 方法中的命令

p = runTime.exec("sc\\xx.xx.xx.xx 查询 gpsvc");

此处的语法错误,如果您从命令提示符执行此命令,系统将提示您以下问题。

Would you like to see help for the QUERY and QUERYEX commands? [ y | n ]:

只有输入 y 或 n ,程序才会返回。由于程序没有终止,您将无法读取控制台输出,这就是您的程序卡在 String line = bufferedReader.readLine();

上的原因

关于java - BufferedReader 未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13604734/

相关文章:

java - Java 中的字符 I/O 流与字节 I/O 流

java - 自定义 BufferReader,它读取并返回字符串直到满足模式

java - 输入流关闭和 Sonar 问题

java - spring mvc 中包含多部分数据的 POST 请求

java - 向其他人授予对生成的 HeapDumpOnOutOfMemoryError 文件 .hprof 的读取权限

java - 使用 XMLBeans 编译 2 个 WSDL 使用的共享模式

java - 将文本文件数据添加到数组java

java - 用于描述在不首先实例化对象的情况下为对象赋值的术语是什么?

Java运行时错误: null pointer exception

java - 有没有办法将先前初始化的 `bufferedReader` 重置为流的开头?