2010-11-06 166 views
0

如何讓我的csv文件讀取器在java中將我的csv文件讀取到arraylist,從第3行開始,但是第1行和第2行開始,它們中的每一個讀取到另一個數組列表。例如:在java中讀取csv文件從第3行開始

line1 - > arraylist1;
line2 - > arraylist2;
3號線 - line'n」 - > arraylist3

感謝..

回答

1

從有限的細節,簡單的實現將執行以下操作:

  1. 打開CSV文件
  2. 閱讀第一行
    1. 處理第一行,並創建一個列表。
  3. 閱讀第二行
    1. 進程中的第一線,並創建一個列表。
  4. 讀取下一行
    1. 工藝路線,並創建一個列表。
  5. 重複(4)直到文件結束。
  6. 關閉CSV文件。

我可能會通過單獨的方法來處理步驟2-1,3-1和4-1,因爲我猜測這三個步驟中的每一個的格式都不相同。

該文件的實際讀數可能是使用BufferedReader,它可以通過使用readLine方法一次讀取整行,但該部分可能因應用程序的設計而異。

行的處理可以通過分割由String.split(",")排隊並將結果扔進一個List來完成,但它是脆性的且易於出錯,所以將需要拆散部件的更好的方法,或者它可能是一個更好的方法來使用可以正確處理邊緣情況的CSV操作庫。

+0

實施時仍然無法正確實施。 – gin 2011-01-05 11:10:51

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 

+0

你能給我一些特別的代碼嗎? – gin 2010-12-23 09:48:44