最近用到Mabatis的Generator工具突发奇想,自己通过java基础做一个自动创建类的小DEMO。
package com.spring;
import java.io.File;
import java.io.FileOutputStream;
import java.lang.reflect.Constructor;
public class CreateClass {
public static void main(String[] args) {
boolean aClass = createClass("Demo","test");
System.out.printf(String.valueOf(aClass));
}
public static boolean createClass(String className,String methodName){
if (className==null||methodName==null){
return false;
}
File file = new File("./src/com/spring/"+className+".java");
String content = "package com.spring;\n"+"public class "+className +"{" +"\n"
+" public void "+methodName+"()"+"{\n" +
" System.out.println(\"helloword\");\n"+
" }\n"+
"}";
try {
FileOutputStream outputStream = new FileOutputStream(file);
outputStream.write(content.getBytes());
outputStream.close();
} catch (Exception e) {
throw new RuntimeException(e);
}
if (file.exists()){
try {
Class<?> clazz = Class.forName("com.spring." + className);
Constructor<?> constructor = clazz.getConstructor();
Object o = constructor.newInstance();
clazz.getMethod(methodName).invoke(o);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
return true;
}
}