所以我正在开发一个Java IRC机器人,作为我的一个朋友的一个副项目,虽然开发进展顺利,我有点不确定如何保存当前的状态会话之间的某些变量。它没有GUI,所以我认为它不会太复杂,但到目前为止我的搜索努力都是徒劳的。
感谢。
答案 0 :(得分:0)
这取决于您要保留的变量类型,但所有方法都需要您将某些排序数据写入文件。
如果您只需要保留一些变量,可以考虑实现一个可能是简单分隔文本文件的.config文件。
如果你想跟踪一个完整的对象,例如,irc游戏中的玩家,你有一个选择就是将对象解析为JSON,并将其保存到文本文件中,以便以后阅读。您可以将Gson用于此
“玩家”对象的示例:
public String savePlayer(String playerName){
Gson gsonPretty = new GsonBuilder().setPrettyPrinting().create();
String playerFile = System.getProperty("user.dir")+"\\players\\"+playerName;
String jsonplayers = gsonPretty.toJson(players.get(playerName));
try{
FileWriter writer = new FileWriter(playerFile+".json");
writer.write(jsonplayers);
writer.close();
return "Player file saved successfully!";
}catch(Exception e){
e.printStackTrace();
}
return "Something went wrong";
}
然后,您可以创建一个加载方法,该方法要么具有硬编码的文件名,要么创建一个字符串输入以确定要加载的文件,并使用以下内容:
playerFromJson = gson.fromJson(jsonString, Player.class);
在代码中使用该对象