我是Java的新手,所以如果我的问题没有道理,请建议对其进行改进,以使我的问题得到解答。
这就是我初始化数组的方式。
public static String[][] data = null;
String[] ReadValue= new String[3];
int p = 0;
我正在读取CSV文件的元素,并尝试放入
JTable
。以下是从CSV文件馈入二维数组的代码。当我尝试将值分配给二维数组时,它将引发NullPointerException
错误。In Line - data[p][i] = ReadValue[i].trim();
我的代码:
br = new BufferedReader(new FileReader(csvFile));
while ((line = br.readLine())!= null) {
ReadValue= line.split(csvSplitBy);
for (int i = 0; i < ReadValue.length; i++){
data[p][i] = ReadValue[i].trim();
// System.out.println(""+ReadValue[i].toString());
}
p++;
}
错误:
java.lang.NullPointerException
at com.srinar.graphicsTest.JtableTest.LoadCSVdata(JtableTest.java:82)
JtableTest.java:82 : - data[p][i] = ReadValue[i].trim();
最佳答案
您必须通过选择要存储在其中的行数和列数来初始化数组。
例如 :
public static String[][] data = new String[rowNum][colNum];