0

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

4

1 回答 1

1

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

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

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

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

堆栈溢出讨论1

堆栈溢出讨论2

JAvaWorld 讨论这里的一些陷阱

于 2012-06-05T19:54:25.493 回答