我的观点,您的建议!如有问题,敬请留言!
全部博文(16)
分类: Java
2013-04-25 13:56:28
java中一个字符(char)是2个字节
raf.seek(Integer.parseInt(s));
这个方法的参数是指定偏移的字节数
seek方法参数 readChar方法读取位置 readChar读取内容
0 文件开始 第一个字符
1 第一个字节之后开始 第一个字符的第二个字节
第二个字符第一个字节
2 第二个字节之后开始 第二个字符
所以,很容易理解为什么参数是奇数,无法读取,因为读取的根本不是一个字符的2个字节,而是分别读取了2个字符的半个字节
其实如果你写入的是long类型,可能你输入1,2,3,4,5,6,7 都会错,原因一样的