0

我有以下代码,其中逐行读取 .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[] 有空值,为什么没有传递内容?提前致谢

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");
        }
    }
}
4

1 回答 1

6

您的i++语句位于之前,System.out因此您实际上正在打印下一行(尚未解析)。您应该i++System.out

于 2011-05-06T09:54:41.867 回答