This is a dynamically compiled class that can dynamically compile string-type JavaSource codeIt is worth your research.
Mport Java. io. *; <br/> Import Java. util. *; <br/> Import Java. lang. reflect. *; <br/> Import Java. io. file; </P> <p> public class compiletest {<br/> static COM. sun. tools. javac. main javac = new COM. sun. tools. javac. main (); <br/> Public static void main (string [] ARGs) {<br/> try {<br/> file = file. createtempfile ("RunTime ",". java ", new file (system. getproperty ("user. dir "); <br/> string filename = file. getname (); <br/> system. out. println (filename); <br/> string classname = filename. substring (0, filename. indexof ('. '); <br/> printwriter out = new printwriter (New fileoutputstream (File); <br/> // out. println ("package C12;"); <br/> out. println ("public class" + classname + "{"); <br/> out. println ("public static void main (string [] ARGs) {"); <br/> out. println ("system. out. println (/"123/"); "); <br/> out. println ("}}"); <br/> out. flush (); <br/> out. close (); <br/> // system. out. println ("public class" + classname + "{" + "public static void main (string [] ARGs) {" + "system. out. println (/"123/"); "+"} "); <br/> string [] Arg = new string [] {"-d ", system. getproperty ("user. dir "), filename }; <br/> int status = javac. compile (ARG); <br/> class CLS = Class. forname (classname); <br/> method main = Cls. getmethod ("Main", new class [] {string []. class}); <br/> main. invoke (null, new object [] {New String [0]}); <br/> file. delete (); <br/> file = new file (classname + ". class "); <br/> file. delete (); <br/>}catch (exception e) {<br/> E. printstacktrace (); <br/>}</P> <p >}< br/>}