RandomAccessFile类补充

来源:互联网 发布:双十一淘宝客服发货 编辑:程序博客网 时间:2024/06/05 09:07

1、在这里采用的方法有,writeCharset(String str), writerInt(int v), readChar(), readInt()等,采用这些方法可以有效地因读取位置的错误而造成乱码的问题。

 

例如:将writeChars(String str), 换成write(byte[] byte)

           writerInt(int v) 换成 write(int v)

           read(byte[] byte) 换成 readChar()

           read() 换成 readInt()

会出现什么样的结果呢?

 

 

若是一个字节一个字节的读写, 一不小心很容易出错,write(byte[] byte) 最多只能写入长度为byte.length 的字符。write(int v) 是写入特定的字节。

 

 

 

 

思考: 如是将 改成   Employee e2 = new Employee("lisi", 2222); 这样,将age改成2222, 打印出来的结果还是2222吗?

 

 

答案是否定的: write(int v) 是写入特定的字节。 字节最大的表示的数是256,所以超过256的话, 输入的结果就与我们想要的结果不一致了,这是为什么呢? 比如:我们将age改成256, 这是输入的结果是0, 怪哉~! 怎么回事零, 但是稍微思考一下就出来了, 256在计算机中用二进制表示为1 00000000, 字节是8位的的所以将一给舍弃掉, 结果就成了00000000, 这不就是0吗!!!!

 

 

原创粉丝点击