Blackberry 如何用java编写文件中的对象而不使用对象序列化?

Blackberry 如何用java编写文件中的对象而不使用对象序列化?,blackberry,Blackberry,我想将对象写入文件。但是根据我的研究,我发现没有对象序列化是不可能的。另一种方法是将对象转换为字节数组,然后写入文件。但对于这一点,还需要对象序列化。是否有其他方法将对象写入文件?因为我也想在android和blackberry中使用相同的代码。请帮帮我,我想尽快解决这个问题。提前感谢。如果要将对象写入文件,那么根据定义,您需要对其进行序列化—这就是序列化的含义。如果您只是在寻找一种将数据保存到不依赖于特定于设备的存储机制的文件中的方法,那么您将需要编写一些自定义序列化代码。对于要存储在文件中的

我想将对象写入文件。但是根据我的研究,我发现没有对象序列化是不可能的。另一种方法是将对象转换为字节数组,然后写入文件。但对于这一点,还需要对象序列化。是否有其他方法将对象写入文件?因为我也想在android和blackberry中使用相同的代码。请帮帮我,我想尽快解决这个问题。提前感谢。

如果要将对象写入文件,那么根据定义,您需要对其进行序列化—这就是序列化的含义。如果您只是在寻找一种将数据保存到不依赖于特定于设备的存储机制的文件中的方法,那么您将需要编写一些自定义序列化代码。对于要存储在文件中的每个类,都需要执行以下操作:

  • 编写一个方法,将对象的当前状态存储在某些可写结构中,例如字符串或字节数组
  • 编写一个将字符串或字节数组转换回对象的方法(让此方法将流作为参数,并让它基于该流中的数据创建新对象可能是最简单的方法)
  • 例如,您可以将对象保存为XML或JSON字符串,或者以更有效的方式保存—存储对象的最佳方式主要取决于您存储的数据类型以及需要对其执行的操作

    在执行此操作时,最好包含一些版本号,这些版本号定义您正在使用的类的版本,并在序列化对象时首先包含这些版本号。这样,当您反序列化时,您可以检查该版本号并知道它是如何序列化的。这使得以后可以很容易地更改序列化方案,同时仍然保持与旧文件的向后兼容性


    如果您只是在寻找一种与设备无关的通用存储机制,那么您还可以考虑使用一种新的存储机制,这种存储机制即使不是所有的现代移动操作系统也支持。这将比手工实现自己的序列化更容易,而且通常也会有更好的性能。

    “序列化是将数据结构或对象转换为可存储格式的过程”,根据维基百科的定义,不,您不能。为什么不想序列化对象?