【问题标题】:How to cd and execute an executable in ubuntu through java program如何通过java程序在ubuntu中cd和执行可执行文件
【发布时间】:2013-11-07 12:10:25
【问题描述】:

你好,对不起,我是java编码的新手,但我想做的是一个java程序,它在ubuntu中调用一个带有一些给定参数的可执行程序。我在另一个 stackoverflow 问题中找到了上面的代码:

ProcessBuilder pb = new ProcessBuilder();
pb.command("bash", "-c", "./runCalculator.sh");
Process process = pb.start();
int retValue = process.waitFor();

但是我怎样才能先 cd 到可执行文件,然后通过 java 执行程序,显示其输出? 谢谢。

【问题讨论】:

  • 你总是可以指定绝对路径

标签: java linux ubuntu


【解决方案1】:

你有两个选择:

使用绝对路径

pb.command("bash", "-c", "/path/to/runCalculator.sh");

使用ProcessBuilder目录方式:

pb.directory(new File("/path/to"));

【讨论】:

  • 谢谢,我会投票,但我没有达到要求的级别。我想我会选择绝对路径。别的东西:如果程序的输出是一个文本文件,我怎样才能把结果保存在内存中?我必须使用 'BufferReader' 来读取输出文件吗?
  • 不清楚文件是否输出到显示器是什么意思,也许更适合一个新问题,需要澄清更多细节
  • 是的,你是对的,程序的输出是保存在程序文件夹中的另一个文本文件,而不是显示。我只是想在不产生任何新的无用问题的情况下清除它。
【解决方案2】:

您不必在任何地方cd,只需指定绝对路径即可。

String path = "/home/Omen/runCalculator.sh";
pb.command("bash", "-c", path);

【讨论】:

  • 也谢谢你。如果可以的话,我也会投票!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-20
  • 1970-01-01
  • 1970-01-01
  • 2020-01-21
相关资源
最近更新 更多