2016-06-15 10 views
2

私はKotlinを勉強しようとしており、file.foreachblock関数(https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.io/java.io.-file/for-each-block.html)に問題があります。Kotlin foreachblockの例

具体的には、messageDigestをバイト配列で更新したいのですが、これをどうやって行うのかは分かりません。どれ例は素晴らしいことだ

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

答えて

5

forEachBlockに渡されたラムダのような

何かは、2つのパラメータを受け入れる必要があります。最初はByteArrayバッファ、2番目はその配列の実際のデータを持つバイト数です。

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

「アクション:(ByteArray、Int) - >ユニット – voddan