我有JCodeModel(SUN)的問題。我的程序每天都在運行,並且我想將的某些函數添加到在當前運行之前創建的類。退出後保存Jcodemodel對象
JcodeModel支持此?如果沒有,可以選擇將JCodemodel Object保存在外部文件中,加載之前的JcodeModel,然後添加新的函數?
謝謝。
我有JCodeModel(SUN)的問題。我的程序每天都在運行,並且我想將的某些函數添加到在當前運行之前創建的類。退出後保存Jcodemodel對象
JcodeModel支持此?如果沒有,可以選擇將JCodemodel Object保存在外部文件中,加載之前的JcodeModel,然後添加新的函數?
謝謝。
您可以使用ObjectOutputStream將實例保存到文件,然後使用ObjectInputStream讀取並安裝它。只要你控制系統,並確保版本不會在一夜之間改變,這應該是安全的(雖然不尋常)。
This tutorial演示瞭如何使用它:
import java.io.*;
public class ObjectOutputStreamDemo {
public static void main(String[] args) {
String s = "Hello world!";
int i = 897648764;
try {
// create a new file with an ObjectOutputStream
FileOutputStream out = new FileOutputStream("test.txt");
ObjectOutputStream oout = new ObjectOutputStream(out);
// write something in the file
oout.writeObject(s);
oout.writeObject(i);
// close the stream
oout.close();
// create an ObjectInputStream for the file we created before
ObjectInputStream ois =
new ObjectInputStream(new FileInputStream("test.txt"));
// read and print what we wrote before
System.out.println("" + (String) ois.readObject());
System.out.println("" + ois.readObject());
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
我收到一個異常:java.io.NotSerializableException:com.sun.codemodel.JCodeModel –
.... JCodeModel不是Serializable ...這是壞的,那麼這將無法正常工作...對不起! –
是您的程序生成要通過JCodeModel到功能添加到原來的班? –
@johncarl:是的。 –
你的程序最初是從什麼生成的? IE:你的程序是否在模型或描述符中讀取,指導它如何生成代碼? –