62,620
社区成员
发帖
与我相关
我的任务
分享import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class CompileAndRun {
private String mess = null;
private File file;
private Runtime runtime;
private Process pro;
public static void main(String[] args) {
CompileAndRun com = new CompileAndRun();
com.setFile(new File("/tmp"));
//System.out.println(com.isCompile());
com.isRun();
}
public CompileAndRun() {
this.runtime = Runtime.getRuntime();
}
public void setFile(File file) {
this.file = file;
}
public void isRun(){
try{
//执行命令
String a=this.file.getPath();
pro = runtime.exec(new String[]{"java","-classpath",file.getPath(),"Test"});
//取得命令结果的输出流
InputStream fis = pro.getInputStream();
//用一个读输出流类去读
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
String line = null;
//逐行读取输出到控制台
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
String a=this.file.getPath();
pro = runtime.exec("java -classpath a Java23");
//这里你是把a当作是字符,而不是变量了;
//这样写试试:
pro = runtime.exec("java -classpath “+a+” Java23");