2017-02-11 147 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('银行')。