update DataOperate.kt

This commit is contained in:
tursom 2021-07-08 23:06:38 +08:00
parent 502e2f4e1a
commit 5cfdee42ea
3 changed files with 21 additions and 18 deletions

View File

@ -5,6 +5,7 @@ import java.io.Closeable
import java.io.IOException import java.io.IOException
import java.io.InputStream import java.io.InputStream
import java.io.OutputStream import java.io.OutputStream
import java.nio.ByteOrder
import kotlin.math.min import kotlin.math.min
/** /**
@ -82,12 +83,12 @@ interface ByteBuffer : Closeable {
} }
fun get(): Byte = read { it.get() } fun get(): Byte = read { it.get() }
fun getChar(): Char = read { it.char } fun getChar(byteOrder: ByteOrder = ByteOrder.nativeOrder()): Char = read { it.char }
fun getShort(): Short = read { it.short } fun getShort(byteOrder: ByteOrder = ByteOrder.nativeOrder()): Short = read { it.short }
fun getInt(): Int = read { it.int } fun getInt(byteOrder: ByteOrder = ByteOrder.nativeOrder()): Int = read { it.int }
fun getLong(): Long = read { it.long } fun getLong(byteOrder: ByteOrder = ByteOrder.nativeOrder()): Long = read { it.long }
fun getFloat(): Float = read { it.float } fun getFloat(byteOrder: ByteOrder = ByteOrder.nativeOrder()): Float = read { it.float }
fun getDouble(): Double = read { it.double } fun getDouble(byteOrder: ByteOrder = ByteOrder.nativeOrder()): Double = read { it.double }
fun getBytes(size: Int = readable): ByteArray = read { fun getBytes(size: Int = readable): ByteArray = read {
val bytes = ByteArray(size) val bytes = ByteArray(size)

View File

@ -7,6 +7,7 @@ import cn.tursom.core.toBytes
import java.io.Closeable import java.io.Closeable
import java.io.InputStream import java.io.InputStream
import java.io.OutputStream import java.io.OutputStream
import java.nio.ByteOrder
@Suppress("unused") @Suppress("unused")
interface MultipleByteBuffer : List<ByteBuffer>, Closeable, ByteBuffer { interface MultipleByteBuffer : List<ByteBuffer>, Closeable, ByteBuffer {
@ -123,12 +124,12 @@ interface MultipleByteBuffer : List<ByteBuffer>, Closeable, ByteBuffer {
override fun resize(newSize: Int): Boolean = false override fun resize(newSize: Int): Boolean = false
override fun get(): Byte override fun get(): Byte
override fun getChar(): Char = cn.tursom.core.toChar(::get) override fun getChar(byteOrder: ByteOrder): Char = cn.tursom.core.toChar(byteOrder, ::get)
override fun getShort(): Short = cn.tursom.core.toShort(::get) override fun getShort(byteOrder: ByteOrder): Short = cn.tursom.core.toShort(byteOrder, ::get)
override fun getInt(): Int = cn.tursom.core.toInt(::get) override fun getInt(byteOrder: ByteOrder): Int = cn.tursom.core.toInt(byteOrder, ::get)
override fun getLong(): Long = cn.tursom.core.toLong(::get) override fun getLong(byteOrder: ByteOrder): Long = cn.tursom.core.toLong(byteOrder, ::get)
override fun getFloat(): Float = cn.tursom.core.toFloat(::get) override fun getFloat(byteOrder: ByteOrder): Float = cn.tursom.core.toFloat(byteOrder, ::get)
override fun getDouble(): Double = cn.tursom.core.toDouble(::get) override fun getDouble(byteOrder: ByteOrder): Double = cn.tursom.core.toDouble(byteOrder, ::get)
override fun getBytes(size: Int): ByteArray { override fun getBytes(size: Int): ByteArray {
val buffer = ByteArray(size) val buffer = ByteArray(size)
buffer.indices.forEach { buffer.indices.forEach {

View File

@ -3,6 +3,7 @@ package cn.tursom.core.buffer.impl
import cn.tursom.core.buffer.ByteBuffer import cn.tursom.core.buffer.ByteBuffer
import io.netty.buffer.ByteBuf import io.netty.buffer.ByteBuf
import java.io.OutputStream import java.io.OutputStream
import java.nio.ByteOrder
class NettyByteBuffer( class NettyByteBuffer(
val byteBuf: ByteBuf val byteBuf: ByteBuf
@ -60,12 +61,12 @@ class NettyByteBuffer(
} }
override fun get(): Byte = byteBuf.readByte() override fun get(): Byte = byteBuf.readByte()
override fun getChar(): Char = byteBuf.readChar() override fun getChar(byteOrder: ByteOrder): Char = byteBuf.readChar()
override fun getShort(): Short = byteBuf.readShort() override fun getShort(byteOrder: ByteOrder): Short = byteBuf.readShort()
override fun getInt(): Int = byteBuf.readInt() override fun getInt(byteOrder: ByteOrder): Int = byteBuf.readInt()
override fun getLong(): Long = byteBuf.readLong() override fun getLong(byteOrder: ByteOrder): Long = byteBuf.readLong()
override fun getFloat(): Float = byteBuf.readFloat() override fun getFloat(byteOrder: ByteOrder): Float = byteBuf.readFloat()
override fun getDouble(): Double = byteBuf.readDouble() override fun getDouble(byteOrder: ByteOrder): Double = byteBuf.readDouble()
override fun getBytes(size: Int): ByteArray { override fun getBytes(size: Int): ByteArray {
val bytes = ByteArray(size) val bytes = ByteArray(size)