我正在从文件中获取输入。该文件有两列。我想将每个列存储在一个数组中。这就是我在做什么。

   String strArr;

    for(int x=0;x<=m;x++){  // m is the number of lines to parse

      strArr = bufReader.readLine();
     String[] vals=strArr.split("\\s+ ");
      System.out.println(strArr);

    nodei[x]=Integer.parseInt(vals[0]);
    nodej[x]=Integer.parseInt(vals[1]);

      }


我在遇到NullPointerException

String[] vals=strArr.split("\\s+ ");

我该如何解决?

最佳答案

如果strArr为空,并且您在其上调用.split,它将抛出一个空指针。您可以在使用.split之前检查是否为null。

String strArr;

for(int x=0;x<=m;x++){  // m is the number of lines to parse

  strArr = bufReader.readLine();
  if (strArr != null) {
      String[] vals=strArr.split("\\s+ ");
      System.out.println(strArr);

      nodei[x]=Integer.parseInt(vals[0]);
      nodej[x]=Integer.parseInt(vals[1]);
  }
}

09-16 05:43