-1

我正在尝试在 csv 文件中创建一个行数组。

示例 csv:

12,13,14,15
13,14,15,16
11,12,13,14

现在我希望我的数组包含 3 个字符串。

我懂了:

public static String[] postcodeRows;
public static void main(String[] arg) throws Exception
{
    //read the csv file
    BufferedReader CSVFile = new BufferedReader(new FileReader(
            "C:\\Users\\randy\\Documents\\postcode csv\\exports\\all-groups.csv"));

    //count where we are in the csv file
    int csvLine = 0; 
    postcodeRows[0] = CSVFile.readLine(); // Insert the first line.
    // The while checks to see if the data is null. If it is, we've hit the end of the file. If not, process the data

    while (postcodeRows[csvLine] != null)
    {
        csvLine++;
        postcodeRows[csvLine] = CSVFile.readLine();
    }
    // Close the file once all data has been read.
    CSVFile.close();

}

现在我明白了:

Exception in thread "main" java.lang.NullPointerException
at postcodeCheckup.postcodePanel.main(postcodePanel.java:43)

为什么有一个NullPointerException,我该如何防止这种情况?变量 can't be null,由while循环检查。

4

2 回答 2

2

是的,它可以为空,你看错了。:)

数组 postCodeRows 未初始化。

查看http://mathbits.com/MathBits/Java/arrays/Initialize.htm

干杯。

于 2012-09-22T18:41:41.190 回答
1

您需要初始化数组,在您的情况下,看起来数组需要是动态的。

研究使用 java arraylist

于 2012-09-22T18:41:36.537 回答