这样进行编译:
String[] cmd = {"javac", javafile.getAbsolutePath()};
Process process = Runtime.getRuntime().exec(cmd);
这样运行:
String[] cmd = {"java", "-cp",classFile.getParent(), classFile.getName().substring(0, classFile.getName().lastIndexOf("."))};
Process process = Runtime.getRuntime().exec(cmd);
我发现这种办法运行单个源文件没问题(但是图片显示不出来!)但是编译由多个.class文件组成的程序就不行了,比如一个由7个.java组成的程序(放在同一个文件夹下),我编译那个包含有Main函数的.java文件,就死了!也没有异常抛出,就是卡在那里不动了一定要强制关闭
(事先将所有,.java文件编译好,.class放在该文件夹里也不行!)因为这样效率很低??