java runtime exec 输出_java runtime.getruntime()从执行命令行程序获取输出

nidalpres..

7

@Senthil和@Arend回答(/sf/ask/17360801/)提到了ProcessBuilder.以下是使用ProcessBuilder为命令指定环境变量和工作文件夹的示例:

ProcessBuilder pb = new ProcessBuilder("ls", "-a", "-l");

Map env = pb.environment();

// If you want clean environment, call env.clear() first

//env.clear();

env.put("VAR1", "myValue");

env.remove("OTHERVAR");

env.put("VAR2", env.get("VAR1") + "suffix");

File workingFolder = new File("/home/user");

pb.directory(workingFolder);

Process proc = pb.start();

BufferedReader stdInput = new BufferedReader(new InputStreamReader(proc.getInputStream()));

BufferedReader stdError = new BufferedReader(new InputStreamReader(proc.getErrorStream()));

// Read the output from the command:

System.out.println("Here is the standard output of the command:\n");

String s = null;

while ((s = stdInput.readLine()) != null)

System.out.println(s);

// Read any errors from the attempted command:

System.out.println("Here is the standard error of the command (if any):\n");

while ((s = stdError.readLine()) != null)

System.out.println(s);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值