import java.io.File;
import java.io.InputStream;
/**
*
* @author xiejiaohui
*
*/
public class ProcessBuilderTest {
public static synchronized void run(String[] cmd, String dir) {
try {
ProcessBuilder builder = new ProcessBuilder(cmd);
if (dir != null && (!"".equals(dir))) {
builder.directory(new File(dir));
}
builder.redirectErrorStream(true);
Process process = builder.start();
InputStream input = process.getInputStream();
byte[] re = new byte[1024];
while (input.read(re) != -1) {
System.out.println(new String(re));
}
input.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
String[] xjh_1 = {"java", "-server", "-version"};
String[] xjh_2 = { "javac", "HelloWorld.java" };
String[] xjh_3 = { "java", "HelloWorld" };
try {
ProcessBuilderTest.run(xjh_1, null);
ProcessBuilderTest.run(xjh_1, "");
ProcessBuilderTest.run(xjh_1, "d://");
ProcessBuilderTest.run(xjh_2, "d://");
ProcessBuilderTest.run(xjh_3, "d://");
} catch (Exception e) {
e.printStackTrace();
}
}
}
java ProcessBuidler
最新推荐文章于 2024-01-19 11:11:18 发布
本文介绍了一个Java程序,该程序利用ProcessBuilder类来执行外部命令并捕获输出。示例展示了如何设置工作目录及合并错误流,同时读取命令执行后的输出。
1186

被折叠的 条评论
为什么被折叠?



