Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java类返回windows命令行信息_Java_Command Line - Fatal编程技术网

Java类返回windows命令行信息

Java类返回windows命令行信息,java,command-line,Java,Command Line,我能够使用下面的代码从命令行执行命令。如果服务器将工作命令传递给它处理的代码,并给我一个返回值。我需要的是在命令行处理不正确时从命令行获取响应。因此,如果我将copy命令传递给提示符并执行它,我会得到一个值。如果我将copy命令传递给提示符,但它失败,那么我将不会得到任何值。这是我的密码 public String CommandLineExecuteReturn(String loc) { String returnValue = ""; String outValue =

我能够使用下面的代码从命令行执行命令。如果服务器将工作命令传递给它处理的代码,并给我一个返回值。我需要的是在命令行处理不正确时从命令行获取响应。因此,如果我将copy命令传递给提示符并执行它,我会得到一个值。如果我将copy命令传递给提示符,但它失败,那么我将不会得到任何值。这是我的密码

public String CommandLineExecuteReturn(String loc)
 {
    String returnValue = "";
    String outValue = null;
    try 
     {   
       Process p = Runtime.getRuntime().exec("cmd.exe /c "+ loc);   
       BufferedReader in = new BufferedReader(   
                           new InputStreamReader(p.getInputStream()));   
       String line = null;   
       while ((line = in.readLine()) != null) 
        {   
          ; 
           returnValue = line;
        }   
      } 
    catch (IOException e) 
      {   
        StringWriter sw = new StringWriter();
        e.printStackTrace(new PrintWriter(sw));
        String stacktrace = sw.toString();
        returnValue = stacktrace;   
      }   

    return returnValue ;
 }

您还需要重定向错误流(
p.getErrorStream()
)-请注意,从两个流读取将需要两个线程

或者,您可以更轻松地使用并调用其
redirectErrorStream(true)
方法


另请参见。

您还需要重定向错误流(
p.getErrorStream()
)-请注意,从两个流读取将需要两个线程

或者,您可以更轻松地使用并调用其
redirectErrorStream(true)
方法


另请参见。

我真的很难理解你的问题。对不起,你能重新解释一下吗?我真的很难理解你的问题。对不起,你能重新解释一下吗?