我试图远程执行一个.bat文件和执行的代码下面几行后卡住:while循环的ProcessBuilder得到得到一个错误
ProcessBuilder processBuilder = new ProcessBuilder(command);
final Process process = processBuilder.start();
InputStream stderr = process.getErrorStream();
InputStreamReader isr = new InputStreamReader(stderr);
BufferedReader br = new BufferedReader(isr);
String line = null;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
process.waitFor();
System.out.println("Waiting ...");
System.out.println("Returned Value :" + process.exitValue());
,但我的程序卡住内。 它显示的错误是:
CMD.EXE was started with the above path as the current directory.
UNC paths are not supported. Defaulting to Windows directory.
它永不熄灭的同时loop.But它成功地执行脚本。 任何形式的帮助表示赞赏。谢谢
或者,调用'processBuilder.redirectErrorStream(true);'将进程的标准错误重定向到它的标准输出。那么你只需要从'process.getInputStream()'读取。 – 2010-09-27 22:02:27