在java中读取csv文件从line3开始

时间:2010-11-06 14:40:51

标签: java csv arraylist

如何让我的csv文件阅读器将java中的csv文件读取为arraylist,从第3行开始,但是第1行和第2行,每个都被读到另一个arraylist。例如:

第1行 - > arraylist1;
第2行 - > arraylist2;
line3 - line'n' - > arraylist3

感谢..

2 个答案:

答案 0 :(得分:1)

从有限的细节来看,一个简单的实现将执行以下操作:

  1. 打开CSV文件
  2. 阅读第一行
    1. 处理第一行,并创建一个列表。
  3. 阅读第二行
    1. 处理第一行,并创建一个列表。
  4. 阅读下一行
    1. 处理该行,并创建一个列表。
  5. 重复(4)直到文件结束。
  6. 关闭CSV文件。
  7. 我可能会通过单独的方法来接近步骤2-1,3-1和4-1,因为我猜这三个步骤中的每个步骤的格式都是不同的。

    文件的实际读取可能是使用BufferedReader,它可以使用readLine方法一次读取整行,但这部分可能会因设计而异。应用

    线的处理可以通过将线向上分割String.split(",")并将结果抛到List来完成,但它会很脆弱且容易出错,所以更好的破解方法将需要组件,或者它可能是一种更好的方法来使用可以正确处理边缘情况的CSV操作库。

答案 1 :(得分:0)

你有几个选择。

1. Organize your code like this:

  a. read line 1, 
  b. process and populate arraylist1, 
  c. read line 2,
  d. process and populate arraylist2,
  e. while readLine != null, 
     - process and populate arraylist3

2. Or like this:
  a. create a line counter `lineCnt`
  b. while readLine != null, 
     switch lineCnt++
     case 0
     - process and populate arraylist1
     case 1
     - process and populate arraylist2
     default
     - process and populate arraylist3