Java保存字符串

标签 java xml

我有一个用 Java 编写的 RuneScape 私有(private)服务器项目,并且正在尝试编写玩家可以使用的个人“标签”。我已经设法做到了这一点,但是每次服务器重新启动时,它们的“标签”都会重置为“空”。

它们的“标签”是通过执行命令“;;settag [name]”来初始化的。然后他们的标签被设置为他们想要的任何内容。我已经通过字符串完成了此操作:

      if (command[0].equals("settag")) {
            newTag = getCompleteString(command, 1);
newTag = player.yellTag
                player.sendMessage("Your tag is now:" +newTag);
            }

我不确定解决此问题的最有效方法是什么,我正在考虑通过 .xml/.txt 文件加载和保存。顺便说一句,player.yellTag 是下一个命令 (::mytag) 搜索它的地方,它工作正常,直到服务器重新启动。

最佳答案

这完全取决于您的应用程序的上下文。如果您计划拥有少于数百名玩家,那么 xml 文件可能就可以。你应该看看JAXB ,这是在 Java 中存储对象的标准方法。您还可以使用 gson 将它们存储为 JSON 文件。这比 XML 的东西更容易使用和实现。

但是,如果您拥有超过数千名玩家,您可能需要一些更有效的方法来序列化您的标签,方法是将它们放入数据库中,从而使用像 hibernate 这样的 ORM 库。可以帮助您做到这一点。

您可能想要制作自己的东西,例如 tag 目录,其中充满了以包含玩家标签的玩家的唯一 ID 命名的文件...这更加“hackish”,但仍然相当高效。

关于Java保存字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17014759/

相关文章:

java - 在 Eclipse 中添加外部 .jar 文件

java - 如何使用 Jackson 过滤自引用上的属性?

c# - wcf 返回 XmlDocument?

java - Android 应用程序教程 content.xml 和 activity.xml 文件与教程有不同的代码

iphone - 如何通过 HTTP POST 发送充满对象的 NSArray?

java - 退出选择模式后,ListView 选择保持不变

java - Hibernate序列生成器始终为0

java - 每个连接线程模型

xml - 关于 xquery 的帮助

c# - C# 对象的前缀和命名空间