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

时间:2015-10-13 21:02:59

标签: java arraylist filereader

我有这个分配,我必须做一个简单的购物界面,用户可以在其中注册,登录和购买。因为它是一个简单的我甚至不想考虑安全问题或任何事情,所以当一个新用户注册时我只需要把每个文本框的数据(名称,电子邮件,国家等)添加到arraylist,然后将其存储到txt文件中,每行一个用户。 当你打开txt文件时,每一行都是这样的:

  

[姓名,电子邮件,密码,国家,州,ADRESS,出生日期]

现在我正在尝试登录方法,我只需要将文本框上的输入与每个用户的每个arraylist上的已定义索引进行比较(用户[1]用于电子邮件和用户[2] ]为了密码),但是当我从行读取文件行时,它只是将整个arraylist变成这样的大字符串:

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

有没有办法把每一行都读成一个arraylist?

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

(英语不是我的母语所以,如果有什么不清楚,请问我可以尝试澄清它)

1 个答案:

答案 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]

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

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