我想连续运行2 cmd命令。我的目的是,首先编译文件(使用cmd命令而不是Java Compiler API之类的任何其他东西),然后运行。
compiler.java:
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.util.Arrays;
import javax.tools.DiagnosticCollector;
import javax.tools.JavaCompiler;
import javax.tools.JavaFileObject;
import javax.tools.StandardJavaFileManager;
import javax.tools.ToolProvider;
public class compiler {
public static void main(String[] args) {
final String dosCommand = "cmd /c java -cp ";
final String classname = "example";
final String location = "D:\\";
try {
final Process process2 = Runtime.getRuntime().exec("cmd /k javac D:\\example.java"); //I used /k to remain.
final Process process = Runtime.getRuntime().exec(dosCommand + location + " " + classname);
final InputStream in = process.getInputStream();
final InputStream in2 = process.getErrorStream();
int ch, ch2;
while ((ch = in.read()) != -1) {
System.out.print((char) ch);
}
while ((ch2 = in2.read()) != -1) {
System.out.print((char) ch2); // read error here
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
example.java :(在D://路径中。)
public class example {
public static void main(String[] args) {
System.out.println("Hello, World");
}
}
当我运行compiler.java时,它会给出
错误:无法找到或加载主类示例
example.java没问题。当我在cmd中编译并运行此example.java文件时,它正确运行。 我的问题是连续运行2 cmd命令。最后,我如何连续运行cmd命令?感谢...