在Java中通过getRuntime()运行程序时遇到问题
我有以下课程: 编译完CreateTexts.java类后,我想通过getRuntime(通过Eclipse调用)运行它。所以我管理这个班在Java中通过getRuntime()运行程序时遇到问题,java,runtime.exec,Java,Runtime.exec,我有以下课程: 编译完CreateTexts.java类后,我想通过getRuntime(通过Eclipse调用)运行它。所以我管理这个班 public class RuntimeDemo { public static void main(String[] args) { try { // create a new array of 2 strings String[] cmdArray = new String[2]; // first argument
public class RuntimeDemo {
public static void main(String[] args) {
try {
// create a new array of 2 strings
String[] cmdArray = new String[2];
// first argument is the program we want to open
//C:\Program Files\Java\jdk1.6.0_20\bin
cmdArray[0] = "C://Program Files//Java//jdk1.6.0_20//bin//java";
// second argument is a txt file we want to open with notepad
cmdArray[1] = "C://logback//CreateTexts";
// create a process and execute cmdArray and currect environment
Process process = Runtime.getRuntime().exec(cmdArray,null);
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
但是我没有看到正在创建的输出文件。任何明显的提示谢谢你运行程序的方式是错误的 假设您
createText
在包logback
中。并且文件位于“C://logback//createText”
,那么您必须cd
到C:
,然后作为java logback.createText
执行程序
从任何目录直接使用绝对路径调用文件都不起作用。我认为我需要使用ProcessBuilder类,不是这样。为什么不在jt中简单地调用批处理文件呢?这段代码让批处理文件来运行
CreateTexts
代码?嗯,但是我怎么能从Eclipse编译它呢(在一些随机目录中。)?或者我猜这是java安全机制或smth?-我认为clarifies@Coffee,是..而不是将cd
ing添加到目录..您还可以将其添加到类路径,如链接中的答案所述。。。