当前位置: 技术问答>java相关
关于用java代码生成一个类(大家请进,建议者有分)
来源: 互联网 发布时间:2017-04-14
本文导语: 我初步想法是:把要这个类的代码写在STRINGBUFFER里,然后把StringBuffer转换成类似 ClassName.java的文件,可我不知怎么办,也不知我的方法是否可行? 大家既然来了,请给点建议把,只要解决了问题就结贴! | ...
我初步想法是:把要这个类的代码写在STRINGBUFFER里,然后把StringBuffer转换成类似
ClassName.java的文件,可我不知怎么办,也不知我的方法是否可行?
大家既然来了,请给点建议把,只要解决了问题就结贴!
ClassName.java的文件,可我不知怎么办,也不知我的方法是否可行?
大家既然来了,请给点建议把,只要解决了问题就结贴!
|
[1]如果只是想写个代码生成工具,给你两个方案
[1.1] JBuilder OpenTools API
[1.2] Velocity Macro Template
[2]如果生成代码后还想编译,或者说想获得 class 文件.给你三个方案
[2.1] 生成代码后用 javac 编译(此方案包括调用 sun 的编译包)
[2.2] 利用 Apache BCEL 真接写二进制
[2.3] 有一个汇编写 Java 的东东,生成汇编码后编译
[1.1] JBuilder OpenTools API
[1.2] Velocity Macro Template
[2]如果生成代码后还想编译,或者说想获得 class 文件.给你三个方案
[2.1] 生成代码后用 javac 编译(此方案包括调用 sun 的编译包)
[2.2] 利用 Apache BCEL 真接写二进制
[2.3] 有一个汇编写 Java 的东东,生成汇编码后编译
|
java的输入/输出流有很多种,你和想法可以实现,编辑也可以用java代码实现。
java代码写入我就不说了。
编译:
public void generateClass()
{
String m_strPath = "";
File m_fConfRecordPath = null;
m_strPath=System.getProperty("user.dir");
try{
Runtime.getRuntime().exec("D:\j2sdk140\bin\javac "+m_strPath+"\test.java");
}
catch(Exception e){}
}
java代码写入我就不说了。
编译:
public void generateClass()
{
String m_strPath = "";
File m_fConfRecordPath = null;
m_strPath=System.getProperty("user.dir");
try{
Runtime.getRuntime().exec("D:\j2sdk140\bin\javac "+m_strPath+"\test.java");
}
catch(Exception e){}
}
|
应该能做到!但是象DavidBone(7级宝宝)说的用decompile就比较难了,我还是比较同意xue_sharp(著名的反派角色) 的说法。我不明白你为什么一定要这样生成类?
|
你的想法完全可行,就是文件io操作么。
你不会想decompile吧,那就难了
你不会想decompile吧,那就难了
|
编译的问题可能要用jni调用命令行。
然后用classloader的问题
然后用classloader的问题
|
如果可以,
请不要对我的祝福感到厌烦;
如果可能,
请时时想起关心你的我;
如果愿意,
请让我分享你的喜怒哀乐!
请不要对我的祝福感到厌烦;
如果可能,
请时时想起关心你的我;
如果愿意,
请让我分享你的喜怒哀乐!