在Java中使用getRuntime()运行我的程序时遇到了问题。
在Java中使用getRuntime()运行我的程序时遇到了问题。
我有以下类:\n编译了我的CreateTexts.java类后,我想通过getRuntime(通过Eclipse调用)来运行它。所以我运行了这个类:\n
public class RuntimeDemo { public static void main(String[] args) { try { // 创建一个包含2个字符串的新数组 String[] cmdArray = new String[2]; // 第一个参数是我们想要打开的程序 // C:\Program Files\Java\jdk1.6.0_20\bin cmdArray[0] = "C://Program Files//Java//jdk1.6.0_20//bin//java"; // 第二个参数是我们想要用记事本打开的文本文件 cmdArray[1] = "C://logback//CreateTexts"; // 创建一个进程并执行cmdArray和当前环境 Process process = Runtime.getRuntime().exec(cmdArray, null); } catch (Exception ex) { ex.printStackTrace(); } } }
\n但是我没有看到输出文件被创建。任何提示都会很感谢。谢谢
在Java中通过getRuntime()运行程序时遇到问题,原因是程序运行方式不正确。假设你的CreateTexts程序位于logback包内,文件位于"C://logback//CreateTexts"目录下,那么你需要先cd
到C:目录,然后以java logback.CreateTexts
的方式执行程序。直接从任何目录中使用绝对路径调用文件是行不通的。可能这是Java的安全机制之一。你可以参考stackoverflow.com/questions/3415507/…上的解答。相比于cd
到目录,你也可以将其添加到类路径中。