我有一个二进制可执行文件,我确实有 C++ 中的源代码。我需要在我的 Java 代码中以某些方式使用它。我打算将它包装为 Java 中的一个类,所以我的代码将调用我的类而不是直接调用可执行文件。这类似于 .net 包装旧 com 组件的方式。由于我是java新手,我想知道是否有更好的方法来解决它。
问问题
265 次
1 回答
1
这取决于您要使用它的“某些方式”。
如果你想直接调用方法,你(可能)需要学习 JNI。有一些奇怪的 COM <-> Java 的东西,或者至少曾经有过。
如果您想或多或少地将数据“管道”进出可执行文件,类似于 UNIX 命令,您需要查看 Runtime.exec() 或更新(更好)的 ProcessBuilder。直接使用 Runtime.exec() 具有挑战性,因此,如果这是您想要的,请搜索一些有助于支持它的库,或者例如代码。
(编辑添加以响应 OP 的评论)作为 shell 命令运行,您需要查看 RUNtime.exec() 或 ProcessBuilder。以下是一些链接:
于 2012-06-05T19:54:25.493 回答