将值String []传递给String []值

时间:2011-05-06 09:48:00

标签: java string opencsv

我有以下代码,其中逐行读取.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");
        }
    }
}

1 个答案:

答案 0 :(得分:6)

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

之后移动System.out