在Java中使用getRuntime()运行我的程序时遇到了问题。

7 浏览
0 Comments

在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但是我没有看到输出文件被创建。任何提示都会很感谢。谢谢

0
0 Comments

在Java中通过getRuntime()运行程序时遇到问题,原因是程序运行方式不正确。假设你的CreateTexts程序位于logback包内,文件位于"C://logback//CreateTexts"目录下,那么你需要先cd到C:目录,然后以java logback.CreateTexts的方式执行程序。直接从任何目录中使用绝对路径调用文件是行不通的。可能这是Java的安全机制之一。你可以参考stackoverflow.com/questions/3415507/…上的解答。相比于cd到目录,你也可以将其添加到类路径中。

0