【问题标题】:Where should I put serialized objects in a Java program?我应该将序列化对象放在 Java 程序中的什么位置?
【发布时间】:2012-11-29 19:46:45
【问题描述】:

你们好,你们好,

世界上一切都不对劲!我正在尝试使用 JSON 在 java 程序中持久化对象。我不经常使用 java,我使用 JSON 来序列化我的对象,因为我希望用其他语言编写的其他程序也能够采用这些序列化对象。我的问题是我无法确定放置 JSON 文件的正确位置。最初我认为我应该将它们放在资源文件夹中,但似乎不可能即时将文件写入资源文件夹。我当然可以将文件放在我的项目外部的文件夹中,但这会让我很烦恼......很多。

正是这些愚蠢的细微差别一直让我对 java 产生兴趣。 欢迎任何 cmets/建议/冷酷无情的批评。

谢谢。

【问题讨论】:

  • 这些 JSON 文件是您的程序在运行时生成的,还是用于构建程序的资源?它们应该如何被其他程序使用?它们是否打算被生成它们的程序重新读取?
  • 这个问题在 Java 中与任何其他环境有何不同?您必须选择任何一种存储介质并将您的 JSON 数据放在那里,仅此而已。数据库、存储网络服务、FTP 服务器、硬盘中的文件夹等
  • @TedHopp JSON 文件包含物理传感器的校准数据。我在构建程序时会使用这些数据,但在程序运行时校准可能会发生变化。我不需要重新阅读这些文件,但我确实需要能够更新它们。我有其他使用此传感器的程序,我希望能够在它们之间共享新的校准(通过复制文件)。
  • @BrunoReis 我想我只是说其他语言没有很好的、吸引人的资源文件夹......你不能在运行时写入。

标签: java json serialization project-organization


【解决方案1】:

我这样解释您的问题:您想在运行时生成 JSON 文件并将它们写入您的 resources 文件夹。

这不是它应该的工作方式——resources 文件夹用于包含程序使用但包含在分发中的非源代码文件,例如 Spring 应用程序上下文 XML 文件。

如果您想与其他程序(可能用其他语言编写)交换数据,您可能应该使用程序源代码树之外的公共交换目录。

【讨论】:

  • 谢谢。当你这样说时,听起来确实是正确的做法。
猜你喜欢
  • 1970-01-01
  • 2011-01-03
  • 2012-03-03
  • 1970-01-01
  • 2015-10-19
  • 2011-06-30
  • 2012-07-09
  • 1970-01-01
  • 2014-10-24
相关资源
最近更新 更多