你应该可以使用
ProcessBuilder
如下所述:
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class PBTest {
public static void main(String[] args) {
ProcessBuilder pb = new ProcessBuilder("process1");
pb.redirectErrorStream(true);
try {
Process p = pb.start();
String s;
// read from the process's combined stdout & stderr
BufferedReader stdout = new BufferedReader (
new InputStreamReader(p.getInputStream()));
if ((s = stdout.readLine()) != null) {
ProcessBuilder pb2 = new ProcessBuilder("process2", s);
pb2.start();
...
}
System.out.println("Exit value: " + p.waitFor());
p.getInputStream().close();
p.getOutputStream().close();
p.getErrorStream().close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
java
任务相当简单:
<!-- Run the program -->
<target name="run">
<java classname="PBTest" fork="true"></java>
</target>
附录:
我正在寻找一个ant(1)而不是Java的解决方案。
script task
. 我看不到直接使用标准输入和输出的方法,但是您可以使用
loadfile task
从文件加载属性。这是一个
example
从源文件中获取版本号的。