我正在从文件中获取输入。该文件有两列。我想将每个列存储在一个数组中。这就是我在做什么。
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]);
}
}