这是我的功能:
// Read a record from the specified RandomAccessFile
public void read( RandomAccessFile file ) throws IOException {
account = file.readInt();
byte b1[] = new byte[ 15 ];
file.readFully( b1 );
firstName = new String( b1, 0 );
firstName = firstName.trim();
byte b2[] = new byte[ 15 ];
file.readFully( b2 );
lastName = new String( b2, 0 );
lastName = lastName.trim();
balance = file.readDouble();
}
我必须能够从随机访问文件中读取我的一项考试,并且上面的代码有点令人困惑。
这就是我猜正在发生的事情,如果我错了,如果你能纠正我,将不胜感激。
我们从文件file
中取出并readInt
分配给account
. 接下来我想我们创建一个大小为 15 的新字节,并将文件中的名字读入字节,然后分配给firstname
. 现在这是我不明白的,有什么作用readFully
?以及上面的代码如何知道转移到lastName
. 所以简单地说,
byte b1[] = new byte[ 15 ];
file.readFully( b1 );
firstName = new String( b1, 0 );
firstName = firstName.trim();
VS
byte b2[] = new byte[ 15 ];
file.readFully( b2 );
lastName = new String( b2, 0 );
lastName = lastName.trim();
balance = file.readDouble();
为什么它不给出相同的值?我们在猜测每个值(名字、姓氏等)有多长?