【问题标题】:how to retrieve arraylist values into csv file如何将arraylist值检索到csv文件中
【发布时间】:2017-12-13 10:24:49
【问题描述】:
`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 帮助我处理 for each 循环

【问题讨论】:

标签: java csv arraylist getter


【解决方案1】:

假设您有不同的 'UserData' - ArrayList ud 中的对象(将其包括在内并从您的代码 sn-p 中删除不太相关的信息(如“无效数据”)会很有帮助)并且您想编写将它们转换为StringBuilder sb = ...,然后将其导出为 CSV 文件,您应该:

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

    sb.append("ID;Name;Address;Email\n");
    
  2. 遍历 ArrayList:

    for(UserData data : ud){
        sb.append(data.getUserID()).append(";");
        // append other entries
        sb.append(data.getUserEmail()).append("\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

但是,使用带有 getter 和 setter 的 UserData - 对象似乎不切实际:将输入存储在 ArrayList<String> 中并在嵌套的 for 循环中迭代它们会更容易。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-09
    • 2016-05-05
    • 1970-01-01
    • 2021-03-07
    • 1970-01-01
    • 2020-11-02
    • 2014-11-19
    相关资源
    最近更新 更多