用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; }
相关文章推荐
- 习惯把运行的class的名字作为文件名保存 如果文件中类是public修饰,那么类名必须和文件名相同 一个java文件中可以放几个public的类??? java变量:变量是用来标识一块内存的,变量必
- 反编译apk生成程序的java源代码和图片、XML配置、语言资源等文件
- 用myeclipse如何将java程序生成一个.exe可运行文件?
- 使用cmd编译java文件成功生成class,但是不能执行
- jsp文件编译成java文件后保存在哪个文件夹
- [Java] 将标准字符流写入到文件中(通过控制台写一个html程序,并保存)
- 动态代理---动态生成java文件并编译成class文件
- javah指令编译class文件生成.h文件找不到android.app.Activity
- 一个java文件编译之后会产生多个class文件
- 一个简单的groovy script生成的class文件及其反编译
- 复制一个文件夹中的所有文件和文件夹的java程序实现
- Windows命令行下面编译一个Java文件需要引用另一个class文件解决办法
- java文件编译后额外生成的$1.class是怎么一回事
- 基于Java语言完成:使用URL下载指定的文件保存到指定的文件夹中
- 用myeclipse如何将java程序生成一个.exe可运行文件?
- Java编译后生成的若干个class文件名称解析
- android程序编译后无法生成R.java文件
- cmd javah 找不到类文件 javac 编译java文件 找不到符号(把class文件生成.h文件)
- 动态代理---动态生成java文件并编译成class文件
- 用eclipse如何将java程序生成一个.exe可运行文件?