gpt4 book ai didi

java - 将类和对象保存到文件 (Java)

转载 作者:行者123 更新时间:2023-11-30 07:36:16 37 4
gpt4 key购买 nike

tldr:我不熟悉具有持久数据的程序,正在寻找保存/加载文件的正确方法。谁能指出我正确的方向?

我从事的项目涉及在两个相关系统之间大量保存和加载文件。简而言之,有一个程序充当开发人员的“构建器”,另一个程序充当客户的“接口(interface)”。

在“构建器”中,开发人员可以定义项目及其可能的属性,客户可以在界面中与之交互。例如,开发人员可能会制作一个名为“汽车”的元素,它可能具有颜色、型号和速度属性;还有一个叫做“房子”的元素,它有尺寸、颜色。他可以制作任意数量的元素,这些元素可能多种多样,每个元素都有一些共同的属性(名称、颜色)以及一系列不同的属性。

在“界面”中,客户可以选择任意数量的项目进入他们的世界。即,他们可能有 2 辆车和 1 栋房子,并分别定义它们的属性,其中一辆车是 Fast Red Hotrod,另一辆是 Slow White Van,房子是 Brown 和 3x2。

Car 和 House 都是 Item 的实例,但客户进一步指定了 2 个不同的 Car 实例。

目前,我已将不同的实例(汽车、房屋等)保存到文本文件中,这似乎运行良好,但我确信必须有更好的方法(特别是因为我打算让客户端界面在安卓)。任何人都可以指出正确的方向或一些可以帮助我做出选择的 Material 吗?

最佳答案

一个选项是使用 Java 二进制序列化。我个人会避免这种选择。

还有很多其他的序列化框架。例如,我移植了 Google 的 Protocol Buffers框架到 C#,所以我通常偏向于它 - 但还有很多其他选项,例如:

这些选项通常在以下方面具有优势:

  • 对其他平台的可移植性(考虑将来是否要构建 iPhone 或 Windows Phone 7 应用程序)
  • 向后和向前兼容性
  • 人类可读性(或易于转换为人类格式)
  • 其中一些也非常紧凑

不可否认,Java 二进制序列化在工作时使简单路径变得非常容易 - 但在其他方面可能会很痛苦。只是我的经验。

关于java - 将类和对象保存到文件 (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3706824/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com