[Mustang] JavaCompiler API

Thomas Darimont

Erfahrenes Mitglied
Hallo!

Code:
 /**
  * 
  */
 package de.tutorials.mustang;
 
 import java.io.File;
 import java.io.Writer;
 
 import javax.tools.JavaCompilerTool;
 import javax.tools.JavaFileManager;
 import javax.tools.JavaFileObject;
 import javax.tools.ToolProvider;
 
 /**
  * @author Tom
  * 
  */
 public class SimpleFileInteraction {
 
 	/**
 	 * @param args
 	 */
 	public static void main(String[] args) {
 		JavaCompilerTool javaCompilerTool = ToolProvider.defaultJavaCompiler();
 		JavaFileManager javaFileManager = javaCompilerTool
 				.getStandardFileManager();
 		try {
 			JavaFileObject javaFileObject = javaFileManager
 				    .getFileForInput("bin/Tutorials.java");
 
 			Writer writer = javaFileObject.openWriter();
 			writer.write("public class Tutorials{"
 				    + "public static void main(String[] args){"
 				    + "System.out.println(\"tutorials.de user helfen usern\");"
 					+ "}" + "}");
 			writer.close();
 			
 			javaCompilerTool.setOutputDirectory(new File("bin"));
 		    System.out.println(javaCompilerTool.run(null,new JavaFileObject[]{javaFileObject}).getDiagnostics());
 
 			Class.forName("Tutorials").getDeclaredMethod("main",
 				    new Class[] { String[].class }).invoke(null,
 				    new Object[] { null });
 
 		} catch (Exception e) {
 			e.printStackTrace();
 		}
 	}
 }

Gruß Tom
 
Zurück