随机访问文件RandomAccessFile

RandomAccessFile是IO包中的成员Object的子类,具备读和写的功能,内部封装了一个数组,通过指针对数组元素进行操作。该指针以以字节为单位,通过从文件开头开始计算的偏移量来指明当前读写的位置。类RandomAccessFile提供了seek()方法用于文件指针的移动,移动文件的指针到指定位置,调用读写方法就可以从该位置起读写数据,指针会自动下移。RandomAccessFile提供了getFilePointer获取指针的位置。完成读写的原理是内部封装了字节输入流和输出流。
注意:通过构造函数可以看出,该类只能操作文件。RandomAccessFile(File file,String mode)
  而且操作文件还有模式:只读r,,读写rw等。
模式参数与 "r"、"rw"、"rws" 或 "rwd" 的其中一个不相等 
模式为只读 r。不会创建文件。会去读取一个已存在文件,如果该文件不存在,则会出现抛出文件找不到异常。
模式rw。操作的文件不存在,会自动创建。如果文件已经存在那么也不会覆盖。

public static void writeFile_2()throws IOException
{
    RandomAccessFile raf = new RandomAccessFile("file.txt","rw");
    raf.seek(8);//文件指针移动8个字节
    raf.write("zhangsan".getBytes());//操作的是字节
    raf.writeInt(12);//提供了直接写入基本数据类型的方法  避免了write()操作时丢失字节
    raf.close();
}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值