0
我的代码:RandomAccessFile的:获取java.io.EOFException的
junk.writeUTF("Jim");
junk.writeInt(9304029);
junk.writeUTF("England");
junk.writeUTF("Bob");
junk.writeInt(99291933);
junk.writeUTF("Canada");
junk.seek(12);
String name = junk.readUTF();
int number = junk.readInt();
String city = junk.readUTF();
当我运行它,我收到错误消息,它为空。我知道为什么会发生这种情况,但我怎么知道要查找哪个字节,以便我可以读取Bob的数据?寻求(12)是无效的。
你是否必须使用'writeUTF()'?了解以UTF格式写入的数据的长度非常困难。与'writeBytes()'或'writeChars()'相比,字节偏移量只是字符串的长度(或字符串* 2的长度)。 –
EOFException不是'null'。下定决心。您需要阅读writeUTF()的文档。它写的字节数比你计算的多,但无论如何我不知道你从哪里得到了12。 – EJP
@Dukeling谢谢! – TheEyesHaveIt