我正在尝试逐行读取文件,但是每次运行程序时,我都会在该行收到 NullPointerException,spaceIndex = line.indexOf(" ");
这显然意味着该行为空。然而。我知道我正在使用的文件正好有 7 行(即使我打印 的值numLines
,我得到的值也是 7。但是当我尝试将一行读入我的字符串时,我仍然得到一个空指针异常。
// File file = some File I take in after clicking a JButton
Charset charset = Charset.forName("US-ASCII");
try (BufferedReader reader = Files.newBufferedReader(file.toPath(), charset)) {
String line = "";
int spaceIndex;
int numLines = 0;
while(reader.readLine()!=null) numLines++;
for(int i = 0; i<numLines; i++) {
line = reader.readLine();
spaceIndex = line.indexOf(" ");
System.out.println(spaceIndex);
}
PS:(我实际上并没有使用此代码来打印空间的索引,我替换了循环中的代码,因为它有很多,它会使阅读时间更长)
如果我要以错误的方式阅读这些行,那么如果有人可以提出另一种方式,那就太好了,因为到目前为止,我尝试过的每一种方式都给了我同样的例外。谢谢。