我有以下代码,其中逐行读取.csv文件,并存储在String [] nextline中,其中nextline [i]由解析文件的相应内容填充。 我在读取.csv文件时没有遇到任何问题,但我确实将它们存储在另一个String []中,因为System.out.println()为所有行提供了以下结果:
Nextline[1]=Jan 4, 2011 18:33:15.988422000 / predata=null / Nextline[4]=54 / size:0
正如您所看到的,Strin []具有null值,为什么内容未传递? 提前致谢
public class Amostra {
int[] id = new int[20000];
String[] predata = new String[20000];
int[] size = new int[20000];
Amostra(String namefile) throws FileNotFoundException, IOException {
Csv2Array(namefile);
}
private void Csv2Array(String newfile) throws FileNotFoundException, IOException
{
String[] nextline;
int j = 0;
int i = 0;
CSVReader reader = new CSVReader(new FileReader(newfile), ';', '\'', 1);
while((nextline = reader.readNext()) != null){
predata[i] = nextline[1];
size[i] = Integer.parseInt(nextline[4]);
id[i] = i;
i++;
System.out.println("Nextline[1]=" + nextline[1] +
" / predata=" + predata[i] +
" / Nextline[4]=" + nextline[4] +
" / size:" + size[i] + "\n");
}
}
}
答案 0 :(得分:6)
您的i++
语句位于System.out
之前,因此您实际上正在打印下一行(尚未解析)。您应该在i++
System.out
行