[Kotlin]Kotlin二进制读写
主要目的是实现二进制的读写。支持二进制读写的数据格式:数值:Int、Long、Short,分别为4、8、2字节。字符和字符串,其中字符串为0~255,即1字节,而非java的二字节。但是现在有个很大的问题,那就是Kotlin不提供基本数值类型Float和Double的位运算,所以这两种数值在现有的设计框架下,我没有办法进行二进制读写。这就很操蛋了。
·
主要目的是实现二进制的读写。
支持二进制读写的数据格式:
数值: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)
}
}
更多推荐


所有评论(0)