有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

arraylist读取txt文件Java中存储的数组

我有这个助手,我必须做一个简单的购物界面,用户可以在其中注册,登录和购买。由于它很简单,我甚至不想去考虑安全问题或任何事情,所以当新用户注册时,我只需要将每个文本框的数据(姓名、电子邮件、国家等)添加到arraylist中,然后将其存储到txt文件中,每行一个用户。 打开txt文件时,每行显示如下:

[Name,email,password,Country,State,adress,birthdate]

现在我尝试使用log-in方法,我只需要将文本框上的输入与每个用户的arraylist上定义的索引进行比较(用户[1]表示电子邮件,用户[2]表示密码),但当我从第行读取文件行时,它只会将整个arraylist变成一个大字符串,如下所示:

"[Name,email,password,Country,State,adress,birthdate]"

有没有办法把每一行读作数组列表

顺便说一句,我正在使用BufferReader和FileReader库

(英语不是我的母语,因此,如果有任何不清楚的地方,请询问,以便我可以尝试澄清)


共 (1) 个答案

  1. # 1 楼答案

    到目前为止还不错

    假设这是字符串:

    String myLine = "[Name,email,password,Country,State,adress,birthdate]";
    

    您要做的第一件事是取出括号[]

    myLine = myLine.substring(1, myLine.length() - 2);
    

    现在我们知道了:

    Name,email,password,Country,State,adress,birthdate
    

    所以我们要把数据分开。观察这里的分隔符是如何使用逗号的。可以通过以下方式拆分字符串:

    Strings[] fragments = myLine.split(",");
    

    数组fragments包含每个数据段。例如,名称在fragments[0]中,地址在fragments[5]

    这是这里的基本原则。然而,也存在一些明显的问题。例如,我认为用户的密码很可能包含逗号。这将打破我们的上述方法

    有很多方法可以解决这个问题,但最简单的方法可能是使用一个不是逗号的分隔符