黑马程序员技术交流社区

标题: RandomAccessFile中skipBytes和seek的区别? [打印本页]

作者: 王自强    时间: 2012-9-12 14:37
标题: RandomAccessFile中skipBytes和seek的区别?
本帖最后由 王自强 于 2012-9-13 23:02 编辑

在RandomAccessFile类中,两个方法的区别是啥?
RandomAccessFile raf = new RandomAccessFile("ran.txt","rw");
raf.skipBytes(8);跳过指定的字节后,文件指针的位置 变了没有?



作者: 孙鑫    时间: 2012-9-12 16:55
seek(long a)是定位文件指针在文件中的位置,参数a确定读写位置距离文件开头的字节个数。
比如seek(0)就是定位文件指针在开始位置,是绝对定位。
skipBytes()是指在文件中跳过给定数量的字节,是相对定位。
对于seek方法,拥有skipBytes( )的功能,但seek( )在使用过程非常影响系统的开销。只有万不得已的情况下使用。
作者: 李菁    时间: 2012-9-12 17:05
raf.skipBytes(8);//跳过指定的字节数(该方法不能往回跳)
raf.seek(8);//调整对象中的指针(该方法前后都行)




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2