使用XMLEncoder时出现java.lang.Instantiation异常



我正试图在我的Java程序中使用XMLEncoder,但我正在获得Java .lang. instantiationexception。以下是我使用的代码:

   /*
       Method for serialization.
   */
   public void serializeToXml(Object obj) throws FileNotFoundException{
        FileOutputStream fos = new FileOutputStream("/home/neeraj/xmlOP.xml"); 
        XMLEncoder encoder  =  new XMLEncoder(fos);
        encoder.writeObject(obj);
        encoder.close();
    }

   public static void main(String [] args){

        String uuid = UUID.randomUUID().toString();
        SimpleDateFormat format = new SimpleDateFormat("dd/mm/yyyy");
        Date date = new Date();
        String tDate = format.format(date);
        ClassA a = new  ClassA(uuid,"expense","Pune",tDate,1,200,0,4);
        a.createAssociatedEvents(2);
        serializationExample serializer = new serializationExample();
        try {
            serializer.serializeToXml(a);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
}

除此之外:我还有两个类:类a和类b。这两个类都实现了Serializable。类a有一个类b的数组列表。这两个类的所有字段都有getter和setter方法。确切的错误(堆栈跟踪)是;

 java.lang.InstantiationException: classA continuing...
 java.lang.exception :XMLEncoder:discarding statement XMLEncoder.writeObject(classA);
 continuing.

我不知道出了什么问题或这些错误是什么意思。我应该如何纠正我的代码使事情工作?

谢谢。

XMLEncoder需要JavaBeans对象来序列化它,因此您必须在ClassA和ClassB中定义一个公共默认构造函数(不带参数)。

相关内容

  • 没有找到相关文章

最新更新