我正在尝试在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
,我该如何防止这种情况?该变量不能null
,由while
循环检查。
答案 0 :(得分:2)
是的,它可以为空,你看错了。 :)
未初始化数组postCodeRows。
查看http://mathbits.com/MathBits/Java/arrays/Initialize.htm。
干杯。
答案 1 :(得分:1)
您需要初始化数组,在您的情况下,数组看起来需要是动态的。
研究使用java arraylist。