Spec-Zone .ru
спецификации, руководства, описания, API
Содержание | Предыдущий | Следующий | Индекс

22.23 Класс java.io.RandomAccessFile

Файл произвольного доступа ведет себя как многочисленный массив байтов, сохраненных в файловой системе. Есть своего рода курсор, или индекс в подразумеваемый массив, названный указателем файла; входные байты чтения операций, запускающиеся в указателе файла и усовершенствовании указатель файла мимо байтов, читают. Если файл произвольного доступа создается в режиме чтения-записи, то выведенные операции также доступны; выходные операции пишут байты, запускающиеся в указателе файла, и совершенствуют указатель файла мимо записанных байтов. Выходные операции, которые пишут мимо текущего конца подразумеваемого массива, заставляют массив быть расширенным. Указатель файла может быть считан getFilePointer метод и набор seek метод.

public class RandomAccessFile implements DataOutput, DataInput {
	public RandomAccessFile(String path, String mode)
		throws SecurityException, IOException,
			IllegalArgumentException;
	public RandomAccessFile(File file, String mode)
		throws SecurityException, IOException,
			IllegalArgumentException;
	public final FileDescriptor getFD() throws IOException;
	public native long getFilePointer() throws IOException;
	public native void seek(long pos) throws IOException;
	public native long length() throws IOException;
	public native void close() throws IOException;
	public native int read() throws IOException;
	public int read(byte[] b)
		throws IOException, NullPointerException;
	public int read(byte[] b, int off, int len)
		throws IOException, NullPointerException,
			IndexOutOfBoundsException;
	// The methods that implement interface DataInput:
	public final void readFully(byte[] b)
		throws IOException, NullPointerException;
	public final void readFully(byte[] b, int off, int len)
		throws IOException, NullPointerException,
			IndexOutOfBoundsException;
	public int skipBytes(int n) throws IOException;
	public final boolean readBoolean() throws IOException;
	public final byte readByte() throws IOException;
	public final int readUnsignedByte() throws IOException;
	public final short readShort() throws IOException;
	public final int readUnsignedShort() throws IOException;
	public final char readChar() throws IOException;
	public final int readInt() throws IOException;
	public final long readLong() throws IOException;
	public final float readFloat() throws IOException;
	public final double readDouble() throws IOException;
	public final String readLine() throws IOException;
	public final String readUTF() throws IOException;
	// The methods that implement interface DataOutput:
	public native void write(int b) throws IOException;
	public void write(byte[] b)
		throws IOException, NullPointerException;
	public void write(byte[] b, int off, int len)
		throws IOException, NullPointerException,
			IndexOutOfBoundsException;
	public final void writeBoolean(boolean v) throws IOException;
	public final void writeByte(int v) throws IOException;
	public final void writeShort(int v) throws IOException;
	public final void writeChar(int v) throws IOException;
	public final void writeInt(int v) throws IOException;
	public final void writeLong(long v) throws IOException;
	public final void writeFloat(float v) throws IOException;
	public final void writeDouble(double v) throws IOException;
	public final void writeBytes(String s) throws IOException;
	public final void writeChars(String s) throws IOException;
	public final void writeUTF(String str) throws IOException;
}
Это обычно верно для всех подпрограмм чтения в этом классе, что, если конец файла достигается прежде, чем требуемое число байтов было считано, EOFException (который является своего рода IOException) бросается. Если какой-либо байт не может быть считан ни по какой причине кроме конца файла, IOException кроме EOFException бросается. В частности IOException может быть брошен, если поток был закрыт (§22.23.7).

22.23.1 public RandomAccessFile(String path, String mode)
throws SecurityException, IOException, IllegalArgumentException

Этот конструктор инициализирует недавно создаваемый RandomAccessFile открывая соединение с фактическим файлом, файл называет путь path в файловой системе. Новое FileDescriptor объект создается, чтобы представить это соединение файла.

Во-первых, если есть менеджер безопасности, checkRead метод (§20.17.19) вызывают с path параметр как его параметр.

Затем, если mode "rw" и есть менеджер безопасности, checkWrite метод (§20.17.21) вызывают с path параметр как его параметр.

Если mode "rw", тогда файл может быть и считан и записан. Если mode "r", тогда файл может быть считан, но не может быть записан (каждый метод записи для этого объекта просто бросит IOException). Если mode не "r" или "rw", тогда этот конструктор бросает IllegalArgumentException.

22.23.2 public RandomAccessFile(File file, String mode)
throws SecurityException, IOException, IllegalArgumentException

Этот конструктор инициализирует недавно создаваемый RandomAccessFile открывая соединение с фактическим файлом, файл, названный file в файловой системе. Новое FileDescriptor объект создается, чтобы представить это соединение файла.

Во-первых, если есть менеджер безопасности, checkRead метод (§20.17.19) вызывают с путем, представленным file параметр как его параметр.

Затем, если mode "rw" и есть менеджер безопасности, checkWrite метод (§20.17.21) вызывают с путем, представленным file параметр как его параметр.

Если mode "rw", тогда файл может быть и считан и записан. Если mode "r", тогда файл может быть считан, но не может быть записан (каждый метод записи для этого объекта просто бросит IOException). Если mode не "r" или "rw", тогда этот конструктор бросает IllegalArgumentException.

22.23.3 public final FileDescriptor getFD() throws IOException

Этот метод возвращается FileDescriptor объект (§22.26), который представляет соединение с фактическим файлом в файловой системе, используемой этим RandomAccessFile.

22.23.4 public long getFilePointer() throws IOException

Текущий указатель файла для этого файла произвольного доступа возвращается. IOException бросается, если указатель файла не может быть считан ни по какой причине.

22.23.5 public void seek(long pos) throws IOException

Указатель файла для этого файла произвольного доступа устанавливается в pos, который является позицией в пределах файла, измеренного в байтах. Позиция 0 запуск файла. IOException бросается если pos меньше чем нуль или больше чем длина файла, или если указатель файла не может быть установлен ни по какой другой причине.

22.23.6 public long length() throws IOException

Длина этого файла произвольного доступа, измеренного в байтах, возвращается.

IOException бросается, если длина не может быть считана ни по какой причине.

22.23.7 public void close() throws IOException

Этот файл произвольного доступа закрывается. Закрытый файл произвольного доступа не может выполнить ввод или вывести операции и не может быть вновь открыт.

22.23.8 public int read() throws IOException

Этот метод читает один байт из файла произвольного доступа. Байт возвращается как целое число в диапазоне от 0 до 255 (0x00-0xff). Если никакой байт не доступен, потому что указатель файла в конце файла, значения -1 возвращается.

Если байт не может быть считан ни по какой причине кроме конца файла, IOException бросается. В частности IOException бросается, если входной поток был закрыт (§22.23.7).

Хотя RandomAccessFile не подкласс InputStream, этот метод ведет себя точно таким же образом как read метод InputStream (§22.3.1).

22.23.9 public int read(byte[] b)
throws IOException, NullPointerException

Хотя RandomAccessFile не подкласс InputStream, этот метод ведет себя точно таким же образом как read метод InputStream (§22.3.2).

22.23.10 public int read(byte[] b, int off, int len)
throws IOException, NullPointerException, IndexOutOfBoundsException

Хотя RandomAccessFile не подкласс InputStream, этот метод ведет себя точно таким же образом как read метод InputStream (§22.3.3).

22.23.11 public final void readFully(byte[] b)
throws IOException, NullPointerException

См. общий контракт readFully метод DataInput (§22.1.1).

Байты для этой работы читаются из файла произвольного доступа, запускающегося в текущем указателе файла.

22.23.12 public final void readFully(byte[] b, int off, int len) throws IOException, NullPointerException, IndexOutOfBoundsException

См. общий контракт readFully метод DataInput (§22.1.2).

Байты для этой работы читаются из файла произвольного доступа, запускающегося в текущем указателе файла.

22.23.13 public int skipBytes(int n) throws IOException

См. общий контракт skipBytes метод DataInput (§22.1.3).

Байты для этой работы читаются из файла произвольного доступа, запускающегося в текущем указателе файла.

22.23.14 public final boolean readBoolean() throws IOException

См. общий контракт readBoolean метод DataInput (§22.1.4).

Байт для этой работы читается из файла произвольного доступа, запускающегося в текущем указателе файла.

22.23.15 public final byte readByte() throws IOException

См. общий контракт readByte метод DataInput (§22.1.5).

Байт для этой работы читается из файла произвольного доступа, запускающегося в текущем указателе файла.

22.23.16 public final int readUnsignedByte() throws IOException

См. общий контракт readUnsignedByte метод DataInput (§22.1.6).

Байт для этой работы читается из файла произвольного доступа, запускающегося в текущем указателе файла.

22.23.17 public final short readShort() throws IOException

См. общий контракт readShort метод DataInput (§22.1.7).

Байты для этой работы читаются из файла произвольного доступа, запускающегося в текущем указателе файла.

22.23.18 public final int readUnsignedShort() throws IOException

См. общий контракт readUnsignedShort метод DataInput (§22.1.8).

Байты для этой работы читаются из файла произвольного доступа, запускающегося в текущем указателе файла.

22.23.19 public final char readChar() throws IOException

См. общий контракт readChar метод DataInput (§22.1.9).

Байты для этой работы читаются из файла произвольного доступа, запускающегося в текущем указателе файла.

22.23.20 public final int readInt() throws IOException

См. общий контракт readInt метод DataInput (§22.1.10).

Байты для этой работы читаются из файла произвольного доступа, запускающегося в текущем указателе файла.

22.23.21 public final long readLong() throws IOException

См. общий контракт readLong метод DataInput (§22.1.11).

Байты для этой работы читаются из файла произвольного доступа, запускающегося в текущем указателе файла.

22.23.22 public final float readFloat() throws IOException

См. общий контракт readFloat метод DataInput (§22.1.12).

Байты для этой работы читаются из файла произвольного доступа, запускающегося в текущем указателе файла.

22.23.23 public final double readDouble() throws IOException

См. общий контракт readDouble метод DataInput (§22.1.13).

Байты для этой работы читаются из файла произвольного доступа, запускающегося в текущем указателе файла.

22.23.24 public final String readLine() throws IOException

См. общий контракт readLine метод DataInput (§22.1.14).

Байты для этой работы читаются из файла произвольного доступа, запускающегося в текущем указателе файла.

22.23.25 public final String readUTF() throws IOException

См. общий контракт readUTF метод DataInput (§22.1.15).

Байты для этой работы читаются из файла произвольного доступа, запускающегося в текущем указателе файла.

22.23.26 public void write(int b) throws IOException;

См. общий контракт write метод DataOutput (§22.2.1).

Байт для этой работы пишется файлу произвольного доступа, запускающемуся в текущем указателе файла.

22.23.27 public void write(byte[] b)
throws IOException, NullPointerException

См. общий контракт write метод DataOutput (§22.2.2).

Байты для этой работы пишутся файлу произвольного доступа, запускающемуся в текущем указателе файла.

22.23.28 public void write(byte[] b, int off, int len)
throws IOException, NullPointerException, IndexOutOfBoundsException

См. общий контракт write метод DataOutput (§22.2.3).

Байты для этой работы пишутся файлу произвольного доступа, запускающемуся в текущем указателе файла.

22.23.29 public final void writeBoolean(boolean v)
throws IOException

См. общий контракт writeBoolean метод DataOutput (§22.2.4).

Байт для этой работы пишется файлу произвольного доступа, запускающемуся в текущем указателе файла.

22.23.30 public final void writeByte(int v) throws IOException

См. общий контракт writeByte метод DataOutput (§22.2.5).

Байт для этой работы пишется файлу произвольного доступа, запускающемуся в текущем указателе файла.

22.23.31 public final void writeShort(int v) throws IOException

См. общий контракт writeShort метод DataOutput (§22.2.6).

Байты для этой работы пишутся файлу произвольного доступа, запускающемуся в текущем указателе файла.

22.23.32 public final void writeChar(int v) throws IOException

См. общий контракт writeChar метод DataOutput (§22.2.7).

Байты для этой работы пишутся файлу произвольного доступа, запускающемуся в текущем указателе файла.

22.23.33 public final void writeInt(int v) throws IOException

См. общий контракт writeInt метод DataOutput (§22.2.8).

Байты для этой работы пишутся файлу произвольного доступа, запускающемуся в текущем указателе файла.

22.23.34 public final void writeLong(long v) throws IOException

См. общий контракт writeLong метод DataOutput (§22.2.9).

Байты для этой работы пишутся файлу произвольного доступа, запускающемуся в текущем указателе файла.

22.23.35 public final void writeFloat(float v) throws IOException

См. общий контракт writeFloat метод DataOutput (§22.2.10).

Байты для этой работы пишутся файлу произвольного доступа, запускающемуся в текущем указателе файла.

22.23.36 public final void writeDouble(double v)
throws IOException

См. общий контракт writeDouble метод DataOutput (§22.2.11).

Байты для этой работы пишутся файлу произвольного доступа, запускающемуся в текущем указателе файла.

22.23.37 public final void writeBytes(String s) throws IOException

См. общий контракт writeBytes метод DataOutput (§22.2.12).

Байты для этой работы пишутся файлу произвольного доступа, запускающемуся в текущем указателе файла.

22.23.38 public final void writeChars(String s) throws IOException

См. общий контракт writeChars метод DataOutput (§22.2.13).

Байты для этой работы пишутся файлу произвольного доступа, запускающемуся в текущем указателе файла.

22.23.39 public final void writeUTF(String str) throws IOException

См. общий контракт writeUTF метод DataOutput (§22.2.14).

Байты для этой работы пишутся файлу произвольного доступа, запускающемуся в текущем указателе файла.


Содержание | Предыдущий | Следующий | Индекс

Спецификация языка Java (HTML, сгенерированный Блинчиком "сюзет" Pelouch 24 февраля 1998)
Авторское право © Sun Microsystems, Inc 1996 года. Все права защищены
Пожалуйста, отправьте любые комментарии или исправления к doug.kramer@sun.com

free hit counter