A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© happy42779 中级黑马   /  2014-5-14 17:12  /  1432 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天尝试着用RandomAccessFile类。
需求是将一个int类型的数组写入到一个文件,然后读取这个文件的内容,倒序输出。(题目提示int为4个字节)
一开始用xxxx.write() 写入,然后用.read(); 然后测试了一下可以成功,然后测试文件长度结果显示为10。
于是猜想,如果默认的调用xxx.write()里面的数据默认每个元素为1个字节(但是编译出错是有提醒过这里为int类型)于是尝试只写入一个大于byte型最大值的数字259,然后继续使用xxx.read()按字节读取结果长度就变为4了。
有没有高手给讲一下里面的过程,而且告诉为什么是4,分别用seek将指示器放到0,1,2,3时四个数字是什么?怎么来的?    (跟补码反码什么的有关么?那个东西只能记住一时,感觉好无力阿。:()
PS: 另外发现一个问题,当更改了数组里面的数据之后长度由10-40可是改回去之后不会变成10(原因应该都懂的)。因此不要猜想以上数据有问题,删除过进行测试了的。

1 个回复

倒序浏览
路过顶一下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马