Java,从文件中读取对象并将它们添加到arraylist

时间:2017-12-02 17:49:05

标签: java list arraylist bufferedreader filereader

我有一个带有两个实例变量的Client类:firstName和surname

现在,我有另一个类,我想从文本文件中读取名称并将它们存储在Client ArrayList中

以下是代码:

import java.io.*;
import java.util.*;

public class Arraylists
{
  public static void main(String [] args) throws FileNotFoundException
    {

     List<Client> clients = new ArrayList<Client>();


     try
     {

     BufferedReader br = new BufferedReader(new FileReader("C:\\Users\\...\\Desktop\\InputTest.txt")); 


     String fileRead = br.readLine();   


            while (fileRead != null)
            {

                String[] tokenize = fileRead.split("\\n");

                String tempFirstName = tokenize[0];
                String tempSurname = tokenize[0];

                Client tempObj = new Client(tempFirstName, tempSurname);

                clients.add(tempObj);

                fileRead = br.readLine();
            }


            br.close();
        }


        catch (FileNotFoundException fnfe)
        {
            System.out.println("file not found");
        }

        catch (IOException ioe)
        {
            ioe.printStackTrace();
        }


        for (Client client : clients)
        {
            System.out.println(client);
            System.out.println();
        }

    }

}

现在这是我在运行main方法时得到的结果:

约翰史密斯约翰史密斯

迈克戈德曼Mike Goldman

Emma Stone Emma Stone

我做错了什么?我的文本文件只是上面名称的列表,我希望将名字和姓氏存储为单独的信息,这样当我打印时,它会为我的文本文档中的每个人打印firstName +姓氏

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

String[] tokenize1 = fileRead.split("\\s+");
String tempFirstName = tokenize1[0];
String tempSurname = tokenize1[1];