我正在尝试学习Kotlin,并在使用file.foreachblock函数(https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.io/java.io.-file/for-each-block.html)时遇到麻烦。

具体来说,我想用字节数组更新messageDigest,但是对我来说不清楚如何做到这一点。任何例子都很好

就像是

file.foreachblock(){ ->
  messageDigest.update(it.bytearray, 0, it.length);
}

最佳答案

传递给forEachBlock的lambda必须接受两个参数。第一个是ByteArray缓冲区,第二个是该数组中包含实际数据的字节数。

file.forEachBlock { buffer, count ->
    messageDigest.update(buffer, 0, count)
}

10-06 06:43