IO.jvm.shared.kt 912 B

12345678910111213141516171819202122232425262728293031323334
  1. /*
  2. * Copyright 2019-2022 Mamoe Technologies and contributors.
  3. *
  4. * 此源代码的使用受 GNU AFFERO GENERAL PUBLIC LICENSE version 3 许可证的约束, 可以在以下链接找到该许可证.
  5. * Use of this source code is governed by the GNU AGPLv3 license that can be found through the following link.
  6. *
  7. * https://github.com/mamoe/mirai/blob/dev/LICENSE
  8. */
  9. @file:JvmMultifileClass
  10. @file:JvmName("MiraiUtils")
  11. @file:Suppress("NOTHING_TO_INLINE")
  12. package net.mamoe.mirai.utils
  13. import java.io.InputStream
  14. private fun dropContent0(stream: InputStream, buffer: ByteArray) {
  15. while (true) {
  16. val len = stream.read(buffer)
  17. if (len == -1) break
  18. }
  19. }
  20. public fun InputStream.dropContent(
  21. buffer: Int = 2048,
  22. close: Boolean = false,
  23. ) {
  24. if (close) {
  25. dropContent0(this, ByteArray(buffer))
  26. } else {
  27. this.use { dropContent0(it, ByteArray(buffer)) }
  28. }
  29. }