黑马程序员技术交流社区

标题: RandomAcessFile问题 [打印本页]

作者: 程传鹏    时间: 2011-12-11 15:22
标题: RandomAcessFile问题
本帖最后由 程传鹏 于 2011-12-13 07:47 编辑

在RandomAcessFile类中,可以用seek方法改变指针,也可以用skipBytes方法改变指针
  老师在讲课中说skipBytes方法只能往后改变指针,那么当此方法后面跟负数的时候,是不是可以跟seek一样,任意位置改变指针了呢?
作者: 李明    时间: 2011-12-11 22:22
seek

设置到此文件开头测量到的文件指针偏移量,在该位置发生下一个读取或写入操作。偏移量的设置可能会超出文件末尾。偏移量的设置超出文件末尾不会改变文件的长度。只有在偏移量的设置超出文件末尾的情况下对文件进行写入才会更改其长度。

public void seek(long pos) throws IOException
参数:
pos - 从文件开头以字节为单位测量的偏移量位置,在该位置设置文件指针。


skipBytes

尝试跳过输入的 n 个字节以丢弃跳过的字节。
此方法可能跳过一些较少数量的字节(可能包括零)。这可能由任意数量的条件引起;在跳过 n 个字节之前已到达文件的末尾只是其中的一种可能。此方法从不抛出 EOFException。返回跳过的实际字节数。如果 n 为负数,则不跳过任何字节。

public int skipBytes(int n)  throws IOException
指定者:
接口 DataInput 中的 skipBytes
参数:
n - 要跳过的字节数。
返回:
跳过的实际字节数。
作者: 程传鹏    时间: 2011-12-13 07:46
李明 发表于 2011-12-11 22:22
seek

设置到此文件开头测量到的文件指针偏移量,在该位置发生下一个读取或写入操作。偏移量的设置可能会超 ...

嗯,明白了,3q
作者: 李明    时间: 2011-12-13 10:53
程传鹏 发表于 2011-12-13 07:46
嗯,明白了,3q

客气客气,互相学习。




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