gpt4 book ai didi

java - 如何将对象的数据写入文件,然后在读取文件时将其解析回新对象

转载 作者:太空宇宙 更新时间:2023-11-04 12:53:54 26 4
gpt4 key购买 nike

我正在尝试为 twitch 编写一个聊天机器人,并且希望存储曾经访问过该 channel 的所有观众的列表以及我为每个用户存储的一些数据。其中包括他们的用户名、级别、他们有多少积分等。到目前为止,我所拥有的是使用 String.format() 为文件创建一个字符串,然后我们使用 bufferedWritter 将其写入文件。我希望每次在维护或添加新功能后重新启动机器人时都能获取查看者列表。我只是不确定我是否以最有效的方式执行此操作,并且我不知道如何在不运行 for 循环来检查分号位置并用子字符串填充数据的情况下读取它。

public abstract class Viewer {
private String username;
private int level;
private int exp;
private int points;
private int intermediatePoints;
private boolean isMod;
private boolean isPreviousWinner;
private boolean enteredRaffle;

public Viewer(String username){
this.username = username;
this.level = 0;
this.exp = 0;
this.points = 0;
this.intermediatePoints = 0;
this.isMod = false;
this.isPreviousWinner = false;
this.enteredRaffle = false;
}

public Viewer(String username, int level, int exp, int points, int intermediatePoints,
boolean isMod, boolean isPreviousWinner, boolean enteredRaffle){
this.username = username;
this.level = level;
this.exp = exp;
this.points = points;
this.intermediatePoints = intermediatePoints;
this.isMod = isMod;
this.isPreviousWinner = isPreviousWinner;
this.enteredRaffle = enteredRaffle;
}

public String setViewerString(){
String viewerDataString = String.format("%s;%d;%d;%d;%d;%b;%b;%b;",
username, level, exp, points, intermediatePoints, isMod, isPreviousWinner, enteredRaffle);
return viewerDataString;
}

public void parseViewerDataString(){

}
}

抱歉,如果我太具体了,我以前从未在这里问过问题,而且我不确定多少信息太多了。

最佳答案

也许你应该通过实现来使类可序列化“java.io.Serialized”包中提供可序列化接口(interface)

此类的对象可以序列化(保存在文件中)和反序列化看看serialization在java中

关于java - 如何将对象的数据写入文件,然后在读取文件时将其解析回新对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35569124/

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