一、RandomAccessFile类的主要功能

    支持跳转到指定位置读写文件。

    类路径:java.io.RandomAccessFile

 

二、主要方法

  (一)构造方法

RandomAccessFile(String 文件路径, String 模式)

  参数:

     文件路径: 指的是文件在磁盘的位置,例如"D:\m.txt。

     模式:读写模式,有下列值:

           r   :只读模式。

           rw  : 允许读和写。

           rws:允许读和写,每次内容或者元数据更新立刻写入文件。

           rwd: 允许读和写,每次内容更新立刻写入文件。

   案例:

RandomAcessFile raf = new RandomAcessFile("D:\m.txt",  "rws")

 

 (二)获取文件长度

piblic long  length()

  返回值:文件字节数的长整型。

 

  (三)设置文件长度

public void setLength(long  新的长度)

 说明:

       文件新长度如果比原来的小,丢弃后面的部分;如果比原来的大,增加的字节填充为0。

 

 (四)获取当前读取指针位置

piblic long  getFilePointer()

  返回值:当前的文件内容字节位置,从0开始编号。

 

 (五)跳转到指定的位置

public void seek(long 目标位置)

  参数:

    目标位置:指的是希望从哪里开始读取和写入的偏移量;0代表第1个字节位置。

 

 (六)跳过字节

  从当前位置跳过指定个数的字节。

public int skipBytes(int k)

  参数:

     k  : 希望跳过字节个数。

  返回值:实际跳过的字节个数。

 

 (七)关闭文件

public void  close()

 

 (八)读取字节

// 读取一个字节

// 返回值:返回字节整数值,如果是-1代表文件结束。

public int read()

 

// 读取字节块

// data是存放读取内容的数组

// offset是数组开始写入位置

// len是希望本次读取字节个数

 

// 返回值:本次读取字节总数;-1代表文件结束

public int read(byte[] data, int offset, int len)

 

 (九)写入字节

// 写入一个字节值,值在0到255之间

public void write(int 整数)

 

// 写入字节块

// data是存放字节的数组

// offset是数组开始读取的位置

// len是希望写入字节个数

public  void  write(byte[] data, int offset, int len)

 

三、其他方法

  1、实现的DataInput接口的方法

int readInt()

float readFloat()

char readChar()

等等

 2、实现的DataOutput接口的方法

void writeInt(int k)

void writeString(String s)

void writeChar(char  c)

等等

 

 

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐