Java类返回windows命令行信息
我能够使用下面的代码从命令行执行命令。如果服务器将工作命令传递给它处理的代码,并给我一个返回值。我需要的是在命令行处理不正确时从命令行获取响应。因此,如果我将copy命令传递给提示符并执行它,我会得到一个值。如果我将copy命令传递给提示符,但它失败,那么我将不会得到任何值。这是我的密码Java类返回windows命令行信息,java,command-line,Java,Command Line,我能够使用下面的代码从命令行执行命令。如果服务器将工作命令传递给它处理的代码,并给我一个返回值。我需要的是在命令行处理不正确时从命令行获取响应。因此,如果我将copy命令传递给提示符并执行它,我会得到一个值。如果我将copy命令传递给提示符,但它失败,那么我将不会得到任何值。这是我的密码 public String CommandLineExecuteReturn(String loc) { String returnValue = ""; String outValue =
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)
方法
另请参见。我真的很难理解你的问题。对不起,你能重新解释一下吗?我真的很难理解你的问题。对不起,你能重新解释一下吗?