尝试将 csv 文件读入 Java 中的 ArrayList 但元素无意中合并?

Trying to read csv file into ArrayList in Java but elements are unintentionally merging?

我有一个 csv 文件,其中包含我试图放入数组列表的值,但一行的最后一个值与第二行的第一个值合并。 参见:

我有这样的数据,

Account Number,Investment Account,Bank Number,Gender,Balance
2544434, Y, 145556, F,1000
2544578, N, 254309, M, 20000
2544230, N, 150365, F, 500000

到目前为止我的代码是这样的,

public static void main(String[] args) throws FileNotFoundException, IOException {
        // TODO code application logic here 
        List<String> list = new ArrayList<String>();

        try {
            Scanner sc = new Scanner(new File("data.csv"));
            sc.useDelimiter(",");
            sc.nextLine();

            while(sc.hasNext()) {
               list.add(sc.next());
            }
            System.out.println(list.get(4))

}

输出看起来像这样,


1000
2544578

当我想将它们分开时,它们各自行的最后一个值和第一个值合并为一个。我已经搜索过类似的问题,但找不到任何问题,所以我想知道这里是否有人可以提供帮助。 我希望使用扫描仪模块完成此操作。

在这种情况下,您已经指出新行不会分隔 CSV 格式的每个元素。 要解决此问题,您可以使用 useDelimiter 的重载方法来提供模式,其中分隔符是 或者 逗号后跟 space 或换行符。

一些像这样的正则表达式:

,\W|[\n]