0

我有JCodeModel(SUN)的問題。我的程序每天都在運行,並且我想的某些函數添加到在當前運行之前創建的類。退出後保存Jcodemodel對象

JcodeModel支持此?如果沒有,可以選擇將JCodemodel Object保存在外部文件中,加載之前的JcodeModel,然後添加新的函數?

謝謝。

+0

是您的程序生成要通過JCodeModel到功能添加到原來的班? –

+0

@johncarl:是的。 –

+0

你的程序最初是從什麼生成的? IE:你的程序是否在模型或描述符中讀取,指導它如何生成代碼? –

回答

0

您可以使用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(); 
    } 
} 
} 
+0

我收到一個異常:java.io.NotSerializableException:com.sun.codemodel.JCodeModel –

+0

.... JCodeModel不是Serializable ...這是壞的,那麼這將無法正常工作...對不起! –