RandomAccessFile类虽然在java.io包中,但是并不是InputStream/OutputStream及Reader/Writer的子类。

RandomAccessFile用来随机读写文件。不仅能够读还能够写。这是其与输入流(只能读)、输出流(只能写)不同的地方。

1.构造器

RandomAccessFile(File file,String mode)

RandomAccessFile(String fileName,String mode)

两个构造器都是通过文件创建RandomAccessFile对象的,不同的是一个是通过文件对象,一个是通过文件名。

mode是模式,一共有四种;

r:只读模式

rw:读写模式,既可读,又可写

rws:读写模式,其中写的时候“文件内容”“文件元数据”的更新同步写入基础存储设备

rwd:读写模式,其中写的时候“文件内容”的更新同步写入基础存储设备

2.常用方法

a组:基础类

void close()

FileDescriptor getFD()

long getFilePointer():获得文件指针

FileChannel getChannel()

long length():文件长度

void seek(long a):设置指针位置

void setLength():设置文件长度

void skipBytes(int b):跳过b个字节

b组:读取数据类

int read()

int read(char[] c,int offset,int len)

boolean readBoolean()

char readChar()

int readInt()

float readFloat()

double readDouble()

long readLong()

short readShort()

string readLine():读取下一行数据返回字符串

c组:写入数据类

void write(int c)

void write(char[] c,int offset,int len)

void writeBoolean(boolean b)

void writeByte(int v)

void writeBytes(String str)

void writeChar(char c)

void writeChars(String str)

void writeInt(int i)

void writeFloat(float f)

void writeDouble(double d)

void writeLong(long l)

void writeShort(short s)