什么等效于Java RandomAccessFilereadLong
在Dart RandomAccess文件中?
更新答案:
var b = await file.read(8);
var longVal = b.buffer.asByteData().getUint64(0);
或
var b = await file.read(4);
var longVal = b.buffer.asByteData().getUint32(0);
readLong从该文件中读取一个带符号的64位整数。此方法从文件中读取八个字节,从当前文件指针开始。如果读取的字节按顺序为:
b1、b2、b3、b4、b5、b6、b7和b8,其中:
0<=b1、b2、b3、b4、b5、b6、b7、b8<255,
则结果等于:
var b = await file.read(8); //Uint8List
var longVal = (b[0] << 56) + (b[1] << 48) + (b[2] << 40) + (b[3] << 32) + (b[4] << 24) + (b[5] << 16) + (b[6] << 8) + b[7];