| |
, который имеет отношение к позиционированию, называется
skipBytes:
public int skipBytes(int n);
Он работает так же, как и одноименный метод для потоков - продвигает текущую
позицию в файле на заданное количество байт.
С помощью метода close вы должны закрывать файл, после того как работа с им
завершена:
public void close();
Метод getFD позволяет получить дескриптор файла:
public final FileDescriptor getFD();
С помощью метода length вы можете определить текущую длину файла:
public long length();
Ряд методов предназначен для выполнения как обычного, так и форматированного
ввода из файла. Этот набор аналогичен методам, определенным для потоков:
public int read();
public int read(byte b[]);
public int read(byte b[], int off, int len);
public final boolean readBoolean();
public final byte readByte();
public final char readChar();
public final double readDouble();
public final float readFloat();
public final void readFully(byte b[]);
public final void readFully(byte b[], int off, int len);
public final int readInt();
public final String readLine();
public final long readLong();
public final short readShort();
public final int readUnsignedByte();
public final int readUnsignedShort();
public final String readUTF();
Существуют также методы, позволяющие выполнять обычную или форматированную
запись в файл с прямым доступом:
public void write(byte b[]);
public void write(byte b[], int off, int len);
public void write(int b);
public final void writeBoolean(boolean v);
public final void writeByte(int v);
public final void writeBytes(String s);
public final void writeChar(int v);
public final void writeChars(String s);
public final void writeDouble(double v);
public final void writeFloat(float v);
public final void writeInt(int v);
public final void writeLong(long v);
public final void writeShort(int v);
public final void writeUTF(String str);
Имена приведенных методов говорят сами за себя, поэтому мы не будем их
описывать.
Приложение DirectFileAccess
Для иллюстрации способов работы с классом RandomAccessFile мы подготовили
приложение DirectFileAccess, в котором создается небольшая база данных. Эта
база данных состоит из двух файлов: файла данных и файла индекса.
В файле данных хранятся записи, сосотящие из двух полей - текстового и
числового. Текстовое поле с названием name хранит строки, закрытые смиволами
конца строки “\r\n”, а числовое с названием account - значения типа int.
Дамп файла данных, создаваемого при первом запуске приложения
DirectFileAccess, приведен на рис. 2.11.
Рис. 2.11. Дамп файла данных
Из этого дампа видно, что после первого запуска приложения в файл
|
|