我正在写RandomAccessFile
这样的信:(在 LinkedList 的子类中)
file.setLength(0);
for (Person person : this)
file.writeUTF(person.getBlob());
Person.getBlob()
返回一个恒定长度的字符串,仅包含基本的字母数字字符、空格和 CR(仅单字节字符)。在这个地方,文件正好包含 100 条记录。(用十六进制编辑器确认)
然后我尝试读取该文件:
int counter = 0;
while (true) {
try {
add(Person.fromBlob(file.readUTF()));
} catch (EOFException e) {
System.out.println(counter + " records read from file.");
break;
} catch (Exception exception) {
throw new DBException(exception);
}
counter++;
}
我总是以正确读取一条记录和一个EOFException
. 这段代码有什么问题?