【问题标题】:What is the dart equivalent of RandomAccessFile readLong, readInt in Java什么是 RandomAccessFile readLong, readInt 在 Java 中的 dart 等价物
【发布时间】:2020-07-17 23:16:42
【问题描述】:

什么相当于 Java RandomAccessFile readLong

在 Dart RandomAccessFile 中?

【问题讨论】:

    标签: dart


    【解决方案1】:

    更新答案:

    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

    那么结果等于:

    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];
    

    【讨论】:

    • 你不使用:b.buffer.asByteData().getUint64(0)
    • 是的,这正是我想要的。非常感谢。
    猜你喜欢
    • 2011-04-25
    • 2018-08-07
    • 2021-10-18
    • 2014-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-17
    • 1970-01-01
    相关资源
    最近更新 更多