我试图读取一个存档文件并将其传递给一个数组,但是当我尝试访问数组[0]时,我一直得到Null Pointer Exception。当我要求java打印数组[0]时,它显示为null。这是我阅读文本文件的方式:
int lines= 0;
while(s1.hasNext()) {String line=s1.next(); lines ++; } // The number of lines
int i= 0;
char [][] array= new char [lines][];
if (f.exists()) {
while (s1.hasNext()) {
String line= s1.next();
int m = line.length();
for (int j = 0; j < m; j++) {
array[i][j]=line.charAt(j);
}
i++;
}
}
答案 0 :(得分:0)
array[0]
必须为null
,因为您尚未为此分配内存。
还有一些问题:
第二个while(s1.hasNext())
循环永远不会被执行,因为第一个循环将读取整个文件,当结束时,s1.hasNext()
将返回false
。所以第二个循环永远不会运行。
array
以lines
个char
个数组启动,但没有一个数组被初始化。所以他们都是null
。当您尝试访问其中任何一个时,您肯定会获得NullPointerException
!