我试图将CSV文件转换为2D数组但是我遇到了问题。代码似乎只在CSV文件中打印出第一个名字10次,然后给我一个越界异常。例如,如果玩家名称是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);
}
答案 0 :(得分:1)
我认为你的代码只读了一行。使用以下代码段继续while循环 -
String line = bf.readLine();
while ((line = br.readLine()) != null) {
//place your code here
}
在上面的代码中BufferedReader
- br
现在已准备好读取下一行,并继续直到br.readline()
返回null。
希望它会有所帮助 非常感谢。