2

我正在寻找一个有助于运行外部程序的 JAVA 库。现在我在一个单独的线程中“手动”运行它们并捕获 I/O。

我有几个不同的外部工具可以运行,我需要的是一种统一的方法来做到这一点。我必须处理的任务包括: - 根据预定义的模板准备输入文件 - 运行命令 - 等待结果并解析输出文件 - 维护管道

整个管道可以被认为是一个以外部工具为节点、以数据流为边的图。如果数据流允许,如果软件可以在并行线程中运行一些命令,那就太好了。

是否存在此类问题的现有解决方案?

根据我得到的答案,我觉得我必须澄清:我不需要管道。数据流可以用文件来解决,无论如何我都需要。此外,管道必须是线性的(1 个输出 -> 1 个输入),但我需要一个图表

我已经在 python 中有一个原型——一堆脚本。这很好,但对我来说 - 不可扩展。此外,我调用的一些程序是用java编写的,所以用java编写整个程序会很方便。最好的,蒂姆

4

2 回答 2

1

我认为 蚂蚁应该是完美的。它还具有相当不错的 java 库来进行文件处理。在这和速度模板之间,我认为你应该能够做你想做的事。

于 2011-01-22T13:26:30.347 回答
1

如果您在 Unix 上,您是否考虑过动态构建一个 Unix shell 命令行(使用管道、重定向tee等),然后使用ProcessBuilder或类似的方法生成这个命令,以及(比如说)/bin/sh -c

这意味着您正在利用现有的工作基础设施来处理管道、缓冲、错误收集和管理资源。

于 2011-01-22T13:05:16.697 回答