您的位置:首页 > 移动开发 > 微信开发

用java语言编译内存中java小程序,并将生成的.class文件保存在一个文件夹下。

2016-09-13 09:28 459 查看
public class DynamicCompile {

private final static String PATH = ****;//根据实际情况填写路径

public static boolean compile(String id, String file_name, String file_content) throws IOException, ClassNotFoundException, NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, InstantiationException{

/*
* 编译内存中的java代码
* */
//1.创建保存的文件夹
int index = file_name.lastIndexOf(".java");
file_name = file_name.substring(0, index);

String class_path = PATH + id;
File file = new File(class_path);
if(!file.exists() && !file.isDirectory()) {
file.mkdir();
}

// 2.开始编译(<span style="font-family: Arial, Helvetica, sans-serif;">file_content就是内存中的java程序</span><span style="font-family: Arial, Helvetica, sans-serif;">)</span>
JavaCompiler javaCompiler = ToolProvider.getSystemJavaCompiler();
JavaFileObject fileObject = new CharSequenceJavaFileObject(file_name, file_content);
CompilationTask task = javaCompiler.getTask(null, null, null, Arrays.asList("-g", "-d", class_path), null, Arrays.asList(fileObject));
boolean result = task.call();

return result;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐