package Ġcom . github . open _ ed gn . security 4 k . utils Ċ Ċ import Ġjava . io . InputStream Ċ Ċ /** Ċ Ġ* Ġ åĪ©çĶ¨ ç¼ĵ åĨ² åĮº å¾ªçİ¯ è¯»åıĸ æµģ ä¸Ń æķ°æį® Ċ Ġ* Ċ Ġ* Ġ@ receiver ĠInputStream Ġæµ ģ Ċ Ġ* Ġ@ param ĠbufferSize ĠInt Ġ ç¼ĵ åĨ² åĮº å¤§å°ı Ċ Ġ* Ġ@ param Ġfunc ĠFunction 2 < ByteArray , ĠInt , ĠUnit > Ġ ä»£çłģ æī§è¡Į åĩ½æķ° Ċ Ġ*/ Ċ internal Ġinline Ġfun Ġ< T Ġ: ĠInputStream > ĠT . foreach ( buffer Size : ĠInt Ġ= Ġ 4 0 9 6 , Ġfunc : ĠT .( ByteArray , ĠInt ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġval Ġb Ġ= ĠByteArray ( buffer Size ) ĊĠĠĠ Ġwhile Ġ( true ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlen Ġ= Ġread ( b , Ġ 0 , ĠbufferSize ) ĊĠĠĠĠĠĠĠ Ġif Ġ( len Ġ== Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfunc ( b , Ġlen ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġclose () Ċ } Ċ