2017-02-11 148 views
0

我有一份大學的作業,要求我從.csv文件中讀取數據並讀取它,處理它,並用三種單獨的方法將其打印出來。這些指令要求我將數據讀入數組列表中,我已經編寫了一些代碼,但我不確定是否正確完成了這些操作。有人能幫助我理解我應該如何將文件讀入數組列表中?如何在java中將.csv文件讀入數組列表?

我的代碼:

public void readData() throws IOException { 
    int count = 0; 
    String file = "bank-Detail.txt"; 
    try { 
     BufferedReader br = new BufferedReader(new FileReader(file)); 
     String line = ""; 
     while ((line = br.readLine()) != null) { 

      bank.add(line.split(",")); 

      String[][] v = (String[][]) bank.toArray(new String[bank.size()][12]); 

     } 
    } catch (FileNotFoundException e) { 

    } 
} 
+0

您正在閱讀的文件是否有固定的模式? – Atom

+0

@Kot文件是600左右,用12個逗號分隔的部分,每個 – abl

+0

你應該注意一個字符串數組和ArrayList不是一回事。如果指令需要一個ArrayList,那麼你應該看看那個類。 –

回答

1

你不需要2D陣列來存儲文件內容,列表的String []數組會做,例如:

public List<String[]> readData() throws IOException { 
    int count = 0; 
    String file = "bank-Detail.txt"; 
    List<String[]> content = new ArrayList<>(); 
    try(BufferedReader br = new BufferedReader(new FileReader(file))) { 
     String line = ""; 
     while ((line = br.readLine()) != null) { 
      content.add(line.split(",")); 
     } 
    } catch (FileNotFoundException e) { 
     //Some error logging 
    } 
    return content; 
} 

而且,這是很好的練習在本地聲明list並從method返回它,而不是在您的案例中將元素添加到共享list('銀行')。