[Kotlin]Kotlin二进制读写

来源:互联网 发布:wear软件下载 编辑:程序博客网 时间:2024/06/05 02:11

主要目的是实现二进制的读写。

支持二进制读写的数据格式:

数值:Int、Long、Short,分别为4、8、2字节。

字符和字符串,其中字符Char为0~255,即1字节,而非java的二字节。


但是现在有个很大的问题,那就是Kotlin不提供基本数值类型Float和Double的位运算。我也是把整个框架都设计好了之后才发现的这个问题的,所以这两种数值在现有的设计框架下,我没有办法进行二进制读写。Orz

>代码下载:

http://download.csdn.net/download/shenpibaipao/9975574


接口设置:

interface WriteMethodInterface{    fun write(bit:Boolean)    fun write(number:Number)    fun write(text:String)    fun write(byte:Byte)    fun write(char:Char)    fun flush()    fun fillBufferWith0()    fun closeOut()}interface ReadMethodInterface{    fun readBoolean():Boolean    fun readInt():Int    fun readShort():Short    fun readFloat():Float    fun readLong():Long    fun readDouble():Double    fun readStringLine():String    fun readChar():Char    fun readByte():Byte    fun isEOF():Boolean    fun closeIn()    fun skip(bit:Int)    fun read(bit:Int):List<Boolean>}
四种读写模式:

enum class IOMode{        Read,ReadWrite,Write,Overwrite    }

直接从工厂类里Create相应的IOHelper即可对指定url的文件进行二进制读写了:

class IOHelperFactory(){    fun createWriteIOhelper(url:String):WriteIOHelper{        return WriteIOHelper(url)    }    fun createReadIOHelper(url:String):ReadIOHelper{        return ReadIOHelper(url)    }    fun createReadWriteIOHelper(url:String):ReadWriteIOHelper{        return ReadWriteIOHelper(url)    }    fun createOverWriteIOHelper(url:String):OverWriteIOHelper{        return OverWriteIOHelper(url)    }}



原创粉丝点击