ファイルから行を読み取っていますが、すべての行を読み取った後、while ループの状態が原因で例外が発生すると思います。
Exception in thread "main" java.lang.NullPointerException
at liarliar.main(liarliar.java:79)
... コード...
// read the first line of the file
iNumMembers = Integer.parseInt(br.readLine().trim());
// read file
while ((sLine = br.readLine().trim()) != null) {
// extract the name and value 'm'
String[] split = sLine.split("\\s+");
sAccuser = split[0];
iM = Integer.parseInt(split[1]);
saTheAccused = new String[iM];
for (int i = 0; i < iM; i++) {
saTheAccused[i] = br.readLine().trim();
}
// create member
// initialize name and number of members being accused
Member member = new Member();
member.setName(sAccuser);
member.setM(iM);
member.setAccused(saTheAccused);
veteranMembers.add(member);
}
内部の for ループは数行を読み取る必要があるため、ファイルの最後の行が読み取られると、while が試みreadLine()
ますが、ファイル全体が読み取られているため失敗します。では、どのように動作しBufferedReader readLine()
、while ループを安全に終了するにはどうすればよいでしょうか?
ありがとう。