问题描述
我目前正在开发一个应用程序,该应用程序旨在独立于其实现启动和停止不同的软件应用程序。因此,可执行文件通过简单的拖放添加并在 Buttonpress 上执行。 我已经在 Java 中尝试了不同的方法,例如 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 (将#修改为@)