在Java中存储可以读写的资源

时间:2012-10-29 14:41:02

标签: java

我在确定如何处理资源文件时遇到问题。 我们在4个独立的项目中有一个编辑游戏的基础:

  • GameCommon
  • GameLogic
  • GLGame
  • 编辑

GameCommon是编辑使用的唯一项目。现在资源(图像和xml文件)作为资源位于此项目中。

问题是编辑器应该创建游戏使用的xml文件,因此我们需要一个可以写入和读取的公共位置。

我们应该采取什么方法? 我想创建一个单独的jar文件来存储只能由两个程序编写的资源,但我只发现了对此的负面看法。 或者也许使用jar文件附近的公共文件夹。但如果我不使用家庭,它会在每个操作系统上正常工作吗?

2 个答案:

答案 0 :(得分:0)

Java提供

File.separator;

这可以帮助您相对于jar创建一个文件夹并相对访问它,而不必担心当前操作系统的路径分隔符是什么。

该文件夹方法可能是最容易实现的,因为可以轻松处理读写操作。

答案 1 :(得分:0)

由于您使用资源平面文件(读取和写入)操作,我假设所有项目都需要写入和读取资源文件?

我会创建一个单例,它具有读取和写入这些平面文件的专有权,以消除写入争用或读取脏数据。这样,所有四个项目都有一种访问资源文件的明确方式。

基本上读取和写入资源文件需要简单而且非常基础。如果需求大于该值,则可能应将这些信息保存在DBMS中。

至于我是否希望这些文件包含在项目中或外化,这是一个可维护性的问题。在部署期间,我是否需要将它们外部化并单独管理?或者这些文件是否放在每个登录用户的主目录中?如果他们需要通过重新部署,我将把它们放在项目之外。