使用私有字段和私有构造函数将对象写入文件

时间:2013-12-09 21:14:08

标签: java serialization reflection constructor private

我试图将类型为User的对象从arraylist写入文件 - 最好是CSV,但只要我能从文件读回来并存储它们就不重要了在arraylist中(用于获取有关对象的更多信息)。

我的问题是,不仅所有字段都是私有的,而且唯一的构造函数也是如此。它是第三方类(User.class),它没有实现Serializable。

我尝试过很多不同的方法,但问题总是来自构造函数。 User.class没有默认构造函数。我一直看到的错误是'构造函数不可见'。

我尝试使用反射来访问构造函数和字段,但我似乎无法正确连接它。

基本上,你会以什么方式解决这个问题?我应该继续反思吗?我似乎只是在这里转圈!

1 个答案:

答案 0 :(得分:0)

一种方法,我将使用的方法如下:

  • 创建一个用户工厂的Serializable类,名为UserFactory
  • 为要保留的每个可序列化用户字段提供一个字段
  • 定义一个接受用户的方法并将值保存到自己的字段中。您可能需要更深入地了解Serializable值
  • 定义工厂方法,该方法使用字段通过用户
  • 中的工厂方法创建用户

这样的对象可以是Serializable,你只需要在写入之前执行额外的步骤来放置User对象,并在阅读后获取User对象。