ProcessBuilder的使用实例
这两天准备重新把Java的基本语法读一读,在查阅java.lang时看到ProcessBuilder,里面给出的例子在机子上跑了下,总是出错。一时弄不清楚其中的“myComand”、“myArg1”、“myArg2”都是些什么鬼,分别代表什么含义?到底该怎么使用?有没有什么使用模板?显然,这是别指望在javadoc里很快找到答案。
// java.lang的Class ProcessBuilder给出的示例代码片
ProcessBuilder pb =
new ProcessBuilder("myCommand", "myArg1", "myArg2");
Map<String, String> env = pb.environment();
env.put("VAR1", "myValue");
env.remove("OTHERVAR");
env.put("VAR2", env.get("VAR1") + "suffix");
pb.directory(new File("myDir"));
File log = new File("log");
pb.redirectErrorStream(true);
pb.redirectOutput(Redirect.appendTo(log));
Process p = pb.start();
assert pb.redirectInput() == Redirect.PIPE;
assert pb.redirectOutput().file() == log;
assert p.getInputStream().read() == -1;