使用 StringTokenizer 将 CSV 文件转换为二维数组

Convert CSV file into 2D array using StringTokenizer

我正在尝试将 CSV 文件转换为二维数组,但我遇到了问题。该代码似乎只打印出 CSV 文件中的名字 10 次,然后给我一个越界异常。例如,如果 Player name 是 Rob,它只会一遍又一遍地打印出 Rob。

如果需要更多说明,请询问

try{
    int col = 0, row = 0;
    System.out.println("Reading " + fileName + " ...");
    fr = new FileReader(fileName);
    bf = new BufferedReader(fr);
    String line = bf.readLine();
    while (line != null) {
        StringTokenizer st = new StringTokenizer(line,",");
        while(st.hasMoreTokens()){
            System.out.println(st.nextToken());
            data[row][col] = st.nextToken();
            col++;
        }
        col = 0;
        row++;
    }
}catch(IOException e){
    System.err.println("Cannot find: "+fileName);
}   

我认为您的代码只读了一行。使用以下代码片段继续 while 循环 -

String line = bf.readLine();
while ((line = br.readLine()) != null) {
    //place your code here 
}  

在上面的代码中,BufferedReader - br 现在准备读取下一行,它一直持续到 br.readline() returns 为空。

希望对您有所帮助。
非常感谢。