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

reading stored arrays in a txt file Java

我有这个任务,我必须制作一个简单的购物界面,用户可以在其中注册、登录和购买。因为它很简单,所以我什至都懒得去想安全问题或其他任何事情,所以当新用户注册时,我只需将每个文本框(姓名、电子邮件、国家等)的数据添加到数组列表中,然后将其存储到一个 txt 文件中,每行一个用户。 当您打开 txt 文件时,每一行如下所示:

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

现在我正在尝试执行登录方法,我只需要将文本框上的输入与每个用户的每个数组列表上定义的索引进行比较(用户 [1] 用于电子邮件和用户[2] 用于密码),但是当我逐行读取文件时,它只是将整个 arraylist 变成一个大字符串,如下所示:

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

有没有办法将每一行读取为数组列表?

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

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

目前一切顺利!

假设这是字符串:

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].

这是这里的基本原则。但是,存在一些明显的问题。例如,我认为用户的密码很可能包含逗号。这会破坏我们上面的方法。

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