0
我有一個包含這個java代碼「的System.out.println(」 Hello World「的!),文本文件(example.txt中);如何執行從txt文件恢復的java代碼?
我如何執行從文本文件中檢索這個java代碼
感謝:X
我有一個包含這個java代碼「的System.out.println(」 Hello World「的!),文本文件(example.txt中);如何執行從txt文件恢復的java代碼?
我如何執行從文本文件中檢索這個java代碼
感謝:X
您可以創建類從文件example.txt中讀取和TMP Java文件寫入和從任何Java代碼訪問此tmp文件
首先創建和Test.java類
public class Test{
public static void excute(){
}
}
int該類example.text串將在EXCUTE方法寫TE來執行
public class ExcuteStringCode {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
try {
System.setProperty("java.home", "C:\\Program Files\\Java\\jdk1.7.0_21");
BufferedReader br=new BufferedReader(new FileReader("d:\\example.txt"));
PrintWriter writer=new PrintWriter("d:\\Test.java");
writer.write("public class Test{\n");
writer.write("public static void excute(){\n");
String reader="";
System.out.println("start");
while((reader=(br.readLine()))!=null){
writer.write(reader+"\n");
}
writer.write("}\n}");
br.close();
writer.close();
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
System.out.println(compiler);
int b=compiler.run(null, null, null,"d:\\Test.java");
Test testme=new Test();
testme.excute();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
然後寫的javac ExcuteStringCode.java 然後寫java ExcuteStringCode
@Newble我有一個疑問關於你的example.txt文件有任何主要的類。 – Sathiyaraj
據我所知,java是一種靜態語言,你的代碼不完整,所以無法編譯和執行... – longkai
你不能這樣做。我能想象的唯一事情就是你解析整個類並將其存儲在某個地方,以便以後可以運行該類。但我不確定你是否可以加載這個文件。 –