在特定文件夹中从java执行shell命令

时间:2016-10-27 00:38:38

标签: java shell netbeans command execute

我有一个C代码,我已编译并添加到路径中,以便能够在任何地方执行它(我已经仔细检查过我可以这样做)

现在我想以更简单的方式使用GUI来处理它。我要求用户输入文件和输出目录。

在单击按钮中,我将代码从GUI执行命令:

String command = "myprogram -e " + file;
new ExecuteShellInstruction().main(command,jTextOutputDirectory.getText());

我在其他类中执行代码:

p = Runtime.getRuntime().exec(command, null, new File(directory));

但我总是得到这个错误:

java.io.IOException: Cannot run program "myprogram" (in directory "/Users/user_name/Documents/folder/example"): error=2, No such file or directory

我已经检查过,如果我从同一个文件夹中写出完全相同的文件,那就没问题了。

对我正在做什么的任何想法?如果从一个标记为正确的问题获得这种方式,也许我错过了一些东西,但我已经花了一个小时尝试的事情似乎没有什么似乎工作。

谢谢!

1 个答案:

答案 0 :(得分:1)

最后我找到了解决方案。 看起来您必须通过在开头添加“./”来判断您的应用程序是否可以执行。像这样:

String command = "./myprogram -e " + file;