我有这个分配,我必须做一个简单的购物界面,用户可以在其中注册,登录和购买。因为它是一个简单的我甚至不想考虑安全问题或任何事情,所以当一个新用户注册时我只需要把每个文本框的数据(名称,电子邮件,国家等)添加到arraylist,然后将其存储到txt文件中,每行一个用户。 当你打开txt文件时,每一行都是这样的:
[姓名,电子邮件,密码,国家,州,ADRESS,出生日期]
现在我正在尝试登录方法,我只需要将文本框上的输入与每个用户的每个arraylist上的已定义索引进行比较(用户[1]用于电子邮件和用户[2] ]为了密码),但是当我从行读取文件行时,它只是将整个arraylist变成这样的大字符串:
"[Name,email,password,Country,State,adress,birthdate]"
有没有办法把每一行都读成一个arraylist?
顺便说一下,我正在使用BufferReader和FileReader库
(英语不是我的母语所以,如果有什么不清楚,请问我可以尝试澄清它)
答案 0 :(得分:0)
到目前为止一切顺利!
假设这是字符串:
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]
。
这是这里的基本原则。但是,有一些明显的问题。例如,我认为用户的密码很可能包含逗号。这会破坏我们的上述方法。
有很多方法可以解决这个问题,但最简单的方法可能是使用不是逗号的分隔符。