如何将arraylist值检索到csv文件

时间:2017-12-13 10:24:50

标签: java csv arraylist getter

`while (sc.hasNext()) {
                    System.out.println("Inside second while");
                    String data =br.readLine();
                    System.out.println("Scanning");
                    if (index == 0)
                        ud1.setUserId(Integer.parseInt(data));
                    else if (index == 1)
                        ud1.setUserName(data);
                    else if (index == 2)
                        ud1.setUserAddress(data);
                        else if (index == 3){
                        ud1.setUserEmail(data);
                    break;
                    }
                    else{
                        System.out.println("invalid data::" + data);
                    }
                    index++;
                }
                index = 0;
                ud.add(ud1);
                System.out.println(ud);`

这里我使用了setter。现在我应该如何使用getter来检索arraylist的数据。请帮助我使用getter进行每个循环

1 个答案:

答案 0 :(得分:0)

假设您有不同的用户数据' - 您的ArrayList中的对象ud(包含此对象并删除不太相关的信息(例如"无效数据"从您的代码段中删除)会很有帮助,并且您希望将它们写入{{1将导出到CSV文件中,你应该:

  1. 如果需要,按所需顺序编写CSV标题:

    StringBuilder sb = ...
  2. 迭代ArrayList:

    sb.append("ID;Name;Address;Email\n");
    
  3. 将StringBuilder的内容写入csv文件。有关编写文件的信息,请访问:How do I create a file and write to it in Java?或在此处详细说明:https://docs.oracle.com/javase/tutorial/essential/io/file.html
  4. 然而,使用带有getter和setter的for(UserData data : ud){ sb.append(data.getUserID()).append(";"); // append other entries sb.append(data.getUserEmail()).append("\n"); } - 对象似乎是不切实际的:将输入存储在UserData中并在嵌套的{{1}中迭代它们会更容易} -loop。