微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在另一个 Java 程序中启动 OpenRefine 应用程序?

如何解决如何在另一个 Java 程序中启动 OpenRefine 应用程序?

我目前正在开发一个应用程序,该应用程序旨在独立于其实现启动和停止不同的软件应用程序。因此,可执行文件通过简单的拖放添加并在 Buttonpress 上执行。 我已经在 J​​ava 中尝试了不同的方法,例如 Desktop.open()、Runtime.exec(),使用 ProcessBuilder 或 Apache Default Executor。虽然这些方法在大多数情况下运行良好,但似乎 OpenRefine 既不会用 OpenRefine.exe 也不会用 OpenRefine.bat 文件打开。每次我点击按钮,什么都没有发生。我已经检查过通过双击或命令行执行是否有效,但由于某些奇怪的原因,我无法在 Java 中运行它。对于我可以尝试的内容或此特定应用程序可能存在的问题,您有任何其他建议吗?

这是 ProcessBuilder 方法的简短示例

ProcessBuilder processBuilder = new ProcessBuilder(String.valueOf(toolPath));
final Process process = processBuilder.start();
App.globalLogger.info("Started Tool with Process Builder");

InputStream inputStream = process.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String line;
while ((line = bufferedReader.readLine()) != null) {
    System.out.println(line);
}

其中toolPath分别是我导入的File的java.nio.file.Path。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。