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

时间:2016-02-23 04:56:10

标签: java parsing string-formatting

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

bufferedWritter

对不起,如果我太具体了,我以前从未问过这个问题,我也不确定信息太多了。

2 个答案:

答案 0 :(得分:0)

可能你应该通过实现使类可序列化 可在“java.io.Serializable”包中使用的可序列化接口

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

答案 1 :(得分:0)

使用java.io.PrintWriter和java.io.BufferedReader类来写入/读取文件。在此处找到文档:

BufferedReader

PrintWriter

对于从文件读取后解析数据,您可以尝试这样的事情:

public void parseViewerDataString(String dataString){
    String[] dataArray = dataString.split(";");
    //This will automatically split up the string in between semicolons

    //Then use dataArray to assign values to field

    username = dataArray[0];
    level = Integer.parseInt(dataArray[1]);
    exp = Integer.parseInt(dataArray[2]);
    //And so on...
}