封装可执行文件

时间:2012-06-05 17:12:08

标签: java executable encapsulation

我有一个二进制可执行文件,我在c ++中有源代码。我需要在Java代码中以某种方式使用它。我计划将它包装为Java中的类,因此我的代码将调用我的类而不是直接调用可执行文件。这类似于.net包装旧的com组件。由于我是java的新手,我想知道是否有更好的解决方法。

1 个答案:

答案 0 :(得分:1)

这取决于你想要使用它的“某些方式”。

如果你想直接调用方法,你(可能)需要学习JNI。有一些奇怪的COM< - > Java的东西,或者至少曾经是。

如果您希望或多或少地“管道”数据进出可执行文件,类似于UNIX命令,您需要查看Runtime.exec()或更新(和更好)的ProcessBuilder。直接使用Runtime.exec()很有挑战性,因此,如果这是您想要的,请搜索一些有助于支持它的库,或者例如代码。

(针对OP的评论添加了编辑)对于作为shell命令运行,您将需要查看RUntime.exec()或ProcessBuilder。以下是一些链接:

stack overflow discussion 1

stack overflow discussion 2

A JAvaWorld discussion of some pitfalls here