我有一个可执行文件生成一些文件,我需要从Java应用程序调用此可执行文件。命令就像这样
Generator.exe -outputfile="path/to/file" [some other params]
它在命令提示符下正常工作,但是从Java运行它,所有步骤都会执行但不会创建文件。 我怀疑问题是我的java应用程序无法创建文件/目录,所以我尝试创建一个目录,如下所示
try {
String envp[] = new String[1];
envp[0] = "PATH=" + System.getProperty("java.library.path");
Runtime.getRuntime().exec("mkdir path/to/folder", envp);
}
catch (Exception e) {
e.printStackTrace();
}
我得到以下异常,即使目录存在
java.io.IOException: Cannot run program "mkdir":
CreateProcess error=2, The system cannot find the file specified
我也尝试过使用java.lang.Process
和java.lang.Process
,虽然命令mkdir path/to/folder
在命令提示符下正常工作,但我得到了相同的异常
答案 0 :(得分:0)
两点:
1)您不需要将java.library.path传递给mkdir命令。 Mkdir需要一个参数 - 您要创建的目录。
2)为什么不使用Java File类来创建目录呢?创建路径的File对象,然后在其上调用mkdirs()函数。