当前位置:  开发笔记 > 编程语言 > 正文

我们的Java程序的外部程序

如何解决《我们的Java程序的外部程序》经验,为你挑选了1个好方法。

如何用Java编写将执行另一个程序的程序?此外,该程序的输入应该从我们的程序中提供,该程序的输出应该写入文件.

这是我获取输出的一小部分代码:

Process p = Runtime.getRuntime().exec("C:\\j2sdk1.4.0\bin\\helloworld.java");
BufferedReader input =
        new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((line = input.readLine()) != null) 
  System.out.println(line);

input.close();

这是我的一组代码,但这会抛出一个IOException.



1> Thilo..:

Java为此提供的API是ProcessBuilder.设置工作目录和传递参数相对简单.

有点棘手的是传递STDIN并读取STDERR和STDOUT,至少对于它的非平凡大小,因为你需要启动单独的线程以确保清除相应的缓冲区.否则,您调用的应用程序可能会阻塞,直到它可以写入更多输出,如果您还等待该进程完成(不确定STDOUT被读取),您将死锁.

推荐阅读
贾志军
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有