我是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];

08-07 16:18