【发布时间】:2017-03-09 12:42:08
【问题描述】:
我有一个 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 个小时,但似乎什么也没有上班。
谢谢!
【问题讨论】:
-
它清楚地表明它无法在当前工作目录中找到文件
-
@ShreyasSarvothama 是的,它是这么说的。但是正如我在 shell 中直接在该目录中执行此操作时提到的那样,它可以完美运行..
-
但是你在哪里工作你的java代码..先设置目录然后运行它..shell默认目录不同,java工作目录不同
-
@ShreyasSarvothama 对不起,我不明白你的意思。正如我对 getRuntime().exec 方法的理解,我将 shell 指令 null 以及我希望在哪个文件夹中执行它指定为参数:docs.oracle.com/javase/7/docs/api/java/lang/Runtime.html
标签: java shell netbeans command execute