首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用java.lang.Instantiation时的XMLEncoder异常

使用java.lang.Instantiation时的XMLEncoder异常
EN

Stack Overflow用户
提问于 2014-07-13 17:30:53
回答 1查看 7.5K关注 0票数 2

我试图在我的Java程序中使用XMLEncoder,但我得到了一个java.lang.InstantiationException。折叠是我正在使用的代码:

代码语言:javascript
复制
   /*
       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();
        }

}

除此之外,我还有两个类: classA和classB。这两个类都实现了可序列化。ClassA有一个ArrayList of ClassB。这两个类的所有字段都有getter和setter方法。准确的误差(堆栈跟踪)是;

代码语言:javascript
复制
 java.lang.InstantiationException: classA continuing...

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

我无法弄清楚出了什么问题,或者这些错误意味着什么。我应该如何纠正我的代码来使事情正常工作呢?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-13 17:58:46

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

JavaBeans会议是这里

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24725368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档