JavaSE IO流(随机存取文件流)

一.RandomAccessFile的使用:

  1. RandomAccessFile直接继承于java.lang.Object类,实现了DataInput和DateOutput接口
  2. RandomAccessFile既可以作为一个输入流,又可以作为一个输出流
  3. 如果RandomAccessFile作为输出流时,写出到文件如果不存在,则在执行过程中自动创建。如果文件存在,则会对原有文件内容进行覆盖。(默认情况下回从头覆盖)

二.构造器:

1.public RandomAccessFile(File file,String mode)

创建RandomAccessFile类实例需要指定mode参数,该参数指定RandomAccessFile的访问模式:

  • r:以只读方式打开
  • rw:打开以便读取和写入
  • rwd:打开以便读取和写入;同步文件内容的更新
  • rws:打开以便读取和写入;同步文件内容和元数据的更新

三.代码的举例:

输入和输出举例:将comic.jpg文件读取然后在以comic3.jpg文件输出。
在这里插入图片描述

四.seek(long pos)方法:

将文件记录指针定位到pos位置。指针会随着操作不断向后移动。所以会出现seek()方法。

我们创建了一个RandomAccessFile.txt文件,
在这里插入图片描述
想要在c和d之间插入xyz
在这里插入图片描述
为了方便看,我并没有使用try-catch-finally。开发中还是要用try-catch-finally
在这里插入图片描述