Spec-Zone.ru › OpenJDK 27

Класс RandomAccessFile

java.lang.Object
java.io.RandomAccessFile
Все реализуемые интерфейсы:
Closeable, DataInput, DataOutput, AutoCloseable
public class RandomAccessFile extends Object implements DataOutput, DataInput, Closeable
Экземпляры этого класса поддерживают как чтение, так и запись в файл произвольного доступа. Файл произвольного доступа ведёт себя как большой массив байтов, хранящийся в файловой системе. В нём есть своего рода курсор, или индекс в условном массиве, называемый указателем файла; операции ввода считывают байты, начиная с указателя файла, и перемещают указатель файла за считанные байты. Если файл произвольного доступа создан в режиме чтения/записи, доступны также операции вывода; операции вывода записывают байты, начиная с указателя файла, и перемещают указатель файла за записанные байты. Операции вывода, записывающие данные за текущим концом условного массива, приводят к расширению массива. Указатель файла можно прочитать с помощью метода getFilePointer и установить с помощью метода seek.

Как правило, все процедуры чтения этого класса выбрасывают EOFException (разновидность IOException), если конец файла достигнут до того, как будет считано требуемое количество байтов. Если по какой-либо причине, кроме достижения конца файла, не удаётся прочитать какой-либо байт, выбрасывается IOException, отличный от EOFException. В частности, может быть выброшено IOException, если поток был закрыт.

Начиная с версии:
1.0

Краткое описание конструкторов

Конструктор Описание
RandomAccessFile(File file, String mode)
Создаёт поток файла произвольного доступа для чтения из файла, а при необходимости — и для записи в него, указанного аргументом File.
RandomAccessFile(String pathname, String mode)
Создаёт поток файла произвольного доступа для чтения из файла, а при необходимости — и для записи в него, указанного путём.

Краткое описание методов

Модификатор и тип Метод Описание
void close()
Закрывает этот поток файла произвольного доступа и освобождает все системные ресурсы, связанные с потоком.
final FileChannel getChannel()
Возвращает уникальный объект FileChannel, связанный с этим файлом.
final FileDescriptor getFD()
Возвращает непрозрачный объект дескриптора файла, связанный с этим потоком.
long getFilePointer()
Возвращает текущую позицию в этом файле.
long length()
Возвращает длину этого файла.
int read()
Считывает байт данных из этого файла.
int read(byte[] b)
Считывает из этого файла в массив байтов до b.length байтов данных.
int read(byte[] b, int off, int len)
Считывает из этого файла в массив байтов до len байтов данных.
final boolean readBoolean()
Считывает из этого файла значение типа boolean.
final byte readByte()
Считывает из этого файла знаковое восьмибитное значение.
final char readChar()
Считывает символ из этого файла.
final double readDouble()
Считывает из этого файла значение типа double.
final float readFloat()
Считывает из этого файла значение типа float.
final void readFully(byte[] b)
Считывает b.length байтов из этого файла в массив байтов, начиная с текущего указателя файла.
final void readFully(byte[] b, int off, int len)
Считывает ровно len байтов из этого файла в массив байтов, начиная с текущего указателя файла.
final int readInt()
Считывает из этого файла знаковое 32-разрядное целое число.
final String readLine()
Считывает следующую строку текста из этого файла.
final long readLong()
Считывает из этого файла знаковое 64-разрядное целое число.
final short readShort()
Считывает из этого файла знаковое 16-разрядное число.
final int readUnsignedByte()
Считывает из этого файла беззнаковое восьмибитное число.
final int readUnsignedShort()
Считывает из этого файла беззнаковое 16-разрядное число.
final String readUTF()
Считывает строку из этого файла.
void seek(long pos)
Устанавливает смещение указателя файла относительно начала этого файла, с которого будет выполнена следующая операция чтения или записи.
void setLength(long newLength)
Устанавливает длину этого файла.
int skipBytes(int n)
Пытается пропустить n байтов входных данных, отбрасывая пропущенные байты.
void write(byte[] b)
Записывает в этот файл b.length байтов из указанного массива байтов, начиная с текущего указателя файла.
void write(byte[] b, int off, int len)
Записывает в этот файл len байтов из указанного массива байтов, начиная со смещения off.
void write(int b)
Записывает указанный байт в этот файл.
final void writeBoolean(boolean v)
Записывает значение типа boolean в файл в виде однобайтового значения.
final void writeByte(int v)
Записывает значение типа byte в файл в виде однобайтового значения.
final void writeBytes(String s)
Записывает строку в файл в виде последовательности байтов.
final void writeChar(int v)
Записывает значение типа char в файл в виде двухбайтового значения, начиная со старшего байта.
final void writeChars(String s)
Записывает строку в файл в виде последовательности символов.
final void writeDouble(double v)
Преобразует аргумент типа double в значение типа long с помощью метода doubleToLongBits класса Double, а затем записывает это значение типа long в файл в виде восьмибайтовой величины, начиная со старшего байта.
final void writeFloat(float v)
Преобразует аргумент типа float в значение типа int с помощью метода floatToIntBits класса Float, а затем записывает это значение типа int в файл в виде четырёхбайтовой величины, начиная со старшего байта.
final void writeInt(int v)
Записывает значение типа int в файл в виде четырёх байтов, начиная со старшего байта.
final void writeLong(long v)
Записывает значение типа long в файл в виде восьми байтов, начиная со старшего байта.
final void writeShort(int v)
Записывает значение типа short в файл в виде двух байтов, начиная со старшего байта.
final void writeUTF(String str)
Записывает строку в файл с использованием кодировки модифицированный UTF-8, независимо от архитектуры компьютера.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Показывает, равен ли этот объект какому-либо другому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии.
Финализация объявлена устаревшей и будет удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова уведомления или прерывания, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова уведомления или прерывания, либо до истечения заданного промежутка реального времени.

Подробное описание конструкторов

RandomAccessFile

public RandomAccessFile(String pathname, String mode) throws FileNotFoundException
Создает поток файла с произвольным доступом для чтения и, при необходимости, записи в файл с указанным путем. Если файл существует, он открывается; если он не существует и указан режим записи, создается новый файл. Символические ссылки автоматически перенаправляются на целевой объект ссылки. Создается новый объект FileDescriptor, представляющий соединение с файлом.

Аргумент mode задает режим доступа, в котором должен быть открыт файл. Допустимые значения и их значения указаны для конструктора RandomAccessFile(File,String).

Параметры:
pathname — строка пути, зависящего от системы
mode — режим доступа
Исключения:
IllegalArgumentException — если аргумент режима не равен ни одному из значений "r", "rw", "rws" или "rwd"
FileNotFoundException — если режим равен "r", но заданная строка пути не указывает на существующий обычный файл, либо если режим начинается с "rw", но заданная строка пути не указывает на существующий доступный для записи обычный файл и невозможно создать новый обычный файл по этому пути, либо если при открытии или создании файла произошла другая ошибка

RandomAccessFile

public RandomAccessFile(File file, String mode) throws FileNotFoundException
Создает поток файла с произвольным доступом для чтения и, при необходимости, записи в файл, указанный аргументом File. Если файл существует, он открывается; если он не существует и указан режим записи, создается новый файл. Символические ссылки автоматически перенаправляются на целевой объект ссылки. Создается новый объект FileDescriptor, представляющий соединение с файлом.

Аргумент mode задает режим доступа, в котором должен быть открыт файл. Допустимые значения и их значения:

Допустимые значения режима доступа и их значения
Значение Значение
"r" Открыть только для чтения. Вызов любого из методов write полученного объекта приведет к выбрасыванию IOException.
"rw" Открыть для чтения и записи. Если файл еще не существует, будет предпринята попытка его создать.
"rws" Открыть для чтения и записи, как и в режиме "rw", а также требовать синхронной записи каждого изменения содержимого или метаданных файла на базовое устройство хранения данных.
"rwd" Открыть для чтения и записи, как и в режиме "rw", а также требовать синхронной записи каждого изменения содержимого файла на базовое устройство хранения данных.
Режимы "rws" и "rwd" работают почти так же, как метод force(boolean) класса FileChannel, с аргументами true и false соответственно, однако они всегда применяются к каждой операции ввода-вывода и поэтому зачастую эффективнее. Если файл находится на локальном устройстве хранения данных, то при возврате вызова метода этого класса гарантируется, что все изменения, внесенные этим вызовом в файл, будут записаны на это устройство. Это позволяет гарантировать, что важная информация не будет потеряна в случае сбоя системы. Если файл находится не на локальном устройстве, такая гарантия не предоставляется.

Режим "rwd" можно использовать для сокращения числа операций ввода-вывода. Использование "rwd" требует записи на носитель только изменений содержимого файла; использование "rws" требует записи изменений как содержимого файла, так и его метаданных, что обычно требует как минимум еще одной низкоуровневой операции ввода-вывода.

Параметры:
file — объект файла
mode — режим доступа, описанный выше
Исключения:
IllegalArgumentException — если аргумент режима не равен ни одному из значений "r", "rw", "rws" или "rwd"
FileNotFoundException — если режим равен "r", но заданный объект файла не указывает на существующий обычный файл, либо если режим начинается с "rw", но заданный объект файла не указывает на существующий доступный для записи обычный файл и невозможно создать новый обычный файл по этому пути, либо если при открытии или создании файла произошла другая ошибка
См. также:
  • FileChannel.force(boolean)

Подробное описание методов

getFD

public final FileDescriptor getFD() throws IOException
Возвращает непрозрачный объект дескриптора файла, связанный с этим потоком.
Возвращает:
объект дескриптора файла, связанный с этим потоком.
Исключения:
IOException — если происходит ошибка ввода-вывода.
См. также:
  • FileDescriptor

getChannel

public final FileChannel getChannel()
Возвращает уникальный объект FileChannel, связанный с этим файлом.

Позиция position возвращенного канала всегда будет равна смещению указателя файла этого объекта, возвращаемому методом getFilePointer. Изменение смещения указателя файла этого объекта — явно или путем чтения либо записи байтов — изменит позицию канала, и наоборот. Изменение длины файла с помощью этого объекта изменит длину, видимую через файловый канал, и наоборот.

Возвращает:
файловый канал, связанный с этим файлом
Начиная с версии:
1.4

read

public int read() throws IOException
Считывает байт данных из этого файла. Байт возвращается в виде целого числа в диапазоне от 0 до 255 (0x00-0x0ff). Этот метод блокирует выполнение, если входные данные пока недоступны.

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

Возвращает:
следующий байт данных или -1, если достигнут конец файла.
Исключения:
IOException — если происходит ошибка ввода-вывода. Не выбрасывается, если достигнут конец файла.

read

public int read(byte[] b, int off, int len) throws IOException
Считывает из этого файла в массив байтов не более len байтов данных. Этот метод блокирует выполнение, пока не станут доступны хотя бы входные данные размером в один байт.

Хотя RandomAccessFile не является подклассом InputStream, этот метод работает точно так же, как метод InputStream.read(byte[], int, int) класса InputStream.

Параметры:
b — буфер, в который считываются данные.
off — начальное смещение в массиве b, начиная с которого записываются данные.
len — максимальное количество считываемых байтов.
Возвращает:
общее количество байтов, считанных в буфер, или -1, если данных больше нет, поскольку достигнут конец файла.
Исключения:
IOException — если первый байт не удается считать по любой причине, кроме конца файла, если файл с произвольным доступом закрыт или если происходит другая ошибка ввода-вывода.
NullPointerException — если b равно null.
IndexOutOfBoundsException — если off отрицательно, len отрицательно или len больше b.length - off

read

public int read(byte[] b) throws IOException
Считывает из этого файла в массив байтов не более b.length байтов данных. Этот метод блокирует выполнение, пока не станут доступны хотя бы входные данные размером в один байт.

Хотя RandomAccessFile не является подклассом InputStream, этот метод работает точно так же, как метод InputStream.read(byte[]) класса InputStream.

Параметры:
b — буфер, в который считываются данные.
Возвращает:
общее количество байтов, считанных в буфер, или -1, если данных больше нет, поскольку достигнут конец этого файла.
Исключения:
IOException — если первый байт не удается считать по любой причине, кроме конца файла, если файл с произвольным доступом закрыт или если происходит другая ошибка ввода-вывода.
NullPointerException — если b равно null.

readFully

public final void readFully(byte[] b) throws IOException
Считывает из этого файла b.length байтов в массив байтов, начиная с текущей позиции указателя файла. Этот метод многократно считывает данные из файла, пока не будет прочитано запрошенное количество байтов. Метод блокирует выполнение до тех пор, пока не будет прочитано запрошенное количество байтов, не будет обнаружен конец потока или не будет выброшено исключение.
Определено в:
readFully в интерфейсе DataInput
Параметры:
b — буфер, в который считываются данные.
Исключения:
NullPointerException — если b равно null.
EOFException — если этот файл достигнет конца до того, как будут считаны все байты.
IOException — если происходит ошибка ввода-вывода.

readFully

public final void readFully(byte[] b, int off, int len) throws IOException
Считывает из этого файла ровно len байтов в массив байтов, начиная с текущей позиции указателя файла. Этот метод многократно считывает данные из файла, пока не будет прочитано запрошенное количество байтов. Метод блокирует выполнение до тех пор, пока не будет прочитано запрошенное количество байтов, не будет обнаружен конец потока или не будет выброшено исключение.
Определено в:
readFully в интерфейсе DataInput
Параметры:
b — буфер, в который считываются данные.
off — начальное смещение в массиве данных b.
len — количество байтов для чтения.
Исключения:
NullPointerException — если b равно null.
IndexOutOfBoundsException — если off отрицательно, len отрицательно или len больше b.length - off.
EOFException — если этот файл достигнет конца до того, как будут считаны все байты.
IOException — если происходит ошибка ввода-вывода.

skipBytes

public int skipBytes(int n) throws IOException
Пытается пропустить n байтов входных данных, отбрасывая пропускаемые байты.

Этот метод может пропустить меньшее количество байтов, возможно, ноль. Это может быть вызвано рядом условий; достижение конца файла до пропуска n байтов — лишь одна из возможных причин. Этот метод никогда не выбрасывает EOFException. Возвращается фактическое количество пропущенных байтов. Если n отрицательно, байты не пропускаются.

Определено в:
skipBytes в интерфейсе DataInput
Параметры:
n — количество байтов, которые необходимо пропустить.
Возвращает:
фактическое количество пропущенных байтов.
Исключения:
IOException — если происходит ошибка ввода-вывода.

write

public void write(int b) throws IOException
Записывает указанный байт в этот файл. Запись начинается с текущей позиции указателя файла.
Определено в:
write в интерфейсе DataOutput
Параметры:
b — записываемый byte.
Исключения:
IOException — если происходит ошибка ввода-вывода.

write

public void write(byte[] b) throws IOException
Записывает в этот файл b.length байтов из указанного массива байтов, начиная с текущей позиции указателя файла.
Определено в:
write в интерфейсе DataOutput
Параметры:
b — данные.
Исключения:
IOException — если происходит ошибка ввода-вывода.

write

public void write(byte[] b, int off, int len) throws IOException
Записывает в этот файл len байтов из указанного массива байтов, начиная со смещения off.
Определено в:
write в интерфейсе DataOutput
Параметры:
b — данные.
off — начальное смещение в данных.
len — количество байтов для записи.
Исключения:
IOException — если происходит ошибка ввода-вывода.
IndexOutOfBoundsException — если off отрицательно, len отрицательно или len больше b.length - off

getFilePointer

public long getFilePointer() throws IOException
Возвращает текущее смещение в этом файле.
Возвращает:
смещение в байтах от начала файла, с которого будет выполняться следующая операция чтения или записи.
Исключения:
IOException — если происходит ошибка ввода-вывода.

seek

public void seek(long pos) throws IOException
Задает смещение указателя файла относительно начала этого файла, с которого будет выполняться следующая операция чтения или записи. Смещение можно задать за пределами конца файла. Установка смещения за пределами конца файла не изменяет длину файла. Длина файла изменится только при записи после установки смещения за пределами конца файла.
Параметры:
pos — позиция смещения в байтах от начала файла, в которую следует установить указатель файла.
Исключения:
IOException — если pos меньше 0 или если происходит ошибка ввода-вывода.

length

public long length() throws IOException
Возвращает длину этого файла.
Возвращает:
длину этого файла в байтах.
Исключения:
IOException — если происходит ошибка ввода-вывода.

setLength

public void setLength(long newLength) throws IOException
Задает длину этого файла.

Если текущая длина файла, возвращаемая методом length, больше заданной требуемой длины файла, указанной аргументом newLength, файл будет усечен.

Если текущая длина файла меньше требуемой, файл будет расширен. Содержимое расширенной части файла не определено.

Если текущая длина файла равна требуемой, файл и его длина останутся без изменений.

Во всех случаях после возврата этого метода смещение файла, возвращаемое методом getFilePointer, будет равно минимуму из требуемой длины и смещения файла до вызова этого метода, даже если длина не изменилась. Иными словами, этот метод ограничивает смещение файла замкнутым интервалом [0,newLength].

Параметры:
newLength — требуемая длина файла
Исключения:
IOException — если аргумент отрицателен или происходит другая ошибка ввода-вывода
Начиная с версии:
1.2

close

public void close() throws IOException
Закрывает этот поток файла с произвольным доступом и освобождает все системные ресурсы, связанные с ним. Закрытый файл с произвольным доступом не может выполнять операции ввода-вывода и не может быть открыт повторно.

Если с этим файлом связан канал, он также закрывается.

Определено в:
close в интерфейсе AutoCloseable
Определено в:
close в интерфейсе Closeable
Примечание к API:
Если с этим потоком связан канал, данный метод закроет канал, что, в свою очередь, закроет поток. Подклассы, переопределяющие этот метод, должны быть готовы обработать возможный повторный вход в метод.
Исключения:
IOException — если происходит ошибка ввода-вывода.

readBoolean

public final boolean readBoolean() throws IOException
Считывает значение boolean из этого файла. Этот метод считывает один байт из файла, начиная с текущей позиции указателя файла. Значение 0 представляет false. Любое другое значение представляет true. Метод блокирует выполнение до тех пор, пока байт не будет считан, не будет обнаружен конец потока или не будет выброшено исключение.
Определено в:
readBoolean в интерфейсе DataInput
Возвращает:
считанное значение boolean.
Исключения:
EOFException — если достигнут конец этого файла.
IOException — если происходит ошибка ввода-вывода.

readByte

public final byte readByte() throws IOException
Считывает из этого файла знаковое восьмибитное значение. Этот метод считывает байт из файла, начиная с текущей позиции указателя файла. Если считанный байт равен b, где 0 <= b <= 255, результат будет следующим:
    (byte)(b)

Метод блокирует выполнение до тех пор, пока байт не будет считан, не будет обнаружен конец потока или не будет выброшено исключение.

Определено в:
readByte в интерфейсе DataInput
Возвращает:
следующий байт этого файла в виде знакового восьмибитного значения byte.
Исключения:
EOFException — если достигнут конец этого файла.
IOException — если происходит ошибка ввода-вывода.

readUnsignedByte

public final int readUnsignedByte() throws IOException
Считывает из этого файла беззнаковое восьмибитное число. Этот метод считывает байт из файла, начиная с текущей позиции указателя файла, и возвращает этот байт.

Метод блокирует выполнение до тех пор, пока байт не будет считан, не будет обнаружен конец потока или не будет выброшено исключение.

Определено в:
readUnsignedByte в интерфейсе DataInput
Возвращает:
следующий байт этого файла, интерпретируемый как беззнаковое восьмибитное число.
Исключения:
EOFException — если достигнут конец этого файла.
IOException — если происходит ошибка ввода-вывода.

readShort

public final short readShort() throws IOException
Считывает из этого файла знаковое 16-битное число. Метод считывает два байта из файла, начиная с текущей позиции указателя файла. Если считанные байты по порядку равны b1 и b2, причем каждое из двух значений находится в диапазоне от 0 до 255 включительно, результат равен:
    (short)((b1 << 8) | b2)

Метод блокирует выполнение до тех пор, пока не будут считаны оба байта, не будет обнаружен конец потока или не будет выброшено исключение.

Определено в:
readShort в интерфейсе DataInput
Возвращает:
следующие два байта этого файла, интерпретируемые как знаковое 16-битное число.
Исключения:
EOFException — если этот файл достигнет конца до считывания двух байтов.
IOException — если происходит ошибка ввода-вывода.

readUnsignedShort

public final int readUnsignedShort() throws IOException
Считывает из этого файла беззнаковое 16-битное число. Этот метод считывает два байта из файла, начиная с текущей позиции указателя файла. Если считанные байты по порядку равны b1 и b2, где 0 <= b1, b2 <= 255, результат равен:
    (b1 << 8) | b2

Метод блокирует выполнение до тех пор, пока не будут считаны оба байта, не будет обнаружен конец потока или не будет выброшено исключение.

Определено в:
readUnsignedShort в интерфейсе DataInput
Возвращает:
следующие два байта этого файла, интерпретируемые как беззнаковое 16-битное целое число.
Исключения:
EOFException — если этот файл достигнет конца до считывания двух байтов.
IOException — если происходит ошибка ввода-вывода.

readChar

public final char readChar() throws IOException
Считывает символ из этого файла. Этот метод считывает два байта из файла, начиная с текущей позиции указателя файла. Если считанные байты по порядку равны b1 и b2, где 0 <= b1, b2 <= 255, результат равен:
    (char)((b1 << 8) | b2)

Метод блокирует выполнение до тех пор, пока не будут считаны оба байта, не будет обнаружен конец потока или не будет выброшено исключение.

Определено в:
readChar в интерфейсе DataInput
Возвращает:
следующие два байта этого файла, интерпретируемые как char.
Исключения:
EOFException — если этот файл достигнет конца до считывания двух байтов.
IOException — если происходит ошибка ввода-вывода.

readInt

public final int readInt() throws IOException
Считывает из этого файла знаковое 32-битное целое число. Этот метод считывает из файла 4 байта, начиная с текущей позиции указателя файла. Если считанные байты по порядку равны b1, b2, b3 и b4, где 0 <= b1, b2, b3, b4 <= 255, результат равен:
    (b1 << 24) | (b2 << 16) + (b3 << 8) + b4

Метод блокирует выполнение до тех пор, пока не будут считаны все четыре байта, не будет обнаружен конец потока или не будет выброшено исключение.

Определено в:
readInt в интерфейсе DataInput
Возвращает:
следующие четыре байта этого файла, интерпретируемые как int.
Исключения:
EOFException — если этот файл достигнет конца до считывания четырех байтов.
IOException — если происходит ошибка ввода-вывода.

readLong

public final long readLong() throws IOException
Считывает из этого файла знаковое 64-битное целое число. Этот метод считывает из файла восемь байтов, начиная с текущей позиции указателя файла. Если считанные байты по порядку равны b1, b2, b3, b4, b5, b6, b7 и b8,, где:
    0 <= b1, b2, b3, b4, b5, b6, b7, b8 <= 255

то результат равен:

    ((long)b1 << 56) + ((long)b2 << 48)
        + ((long)b3 << 40) + ((long)b4 << 32)
        + ((long)b5 << 24) + ((long)b6 << 16)
        + ((long)b7 << 8) + b8

Метод блокирует выполнение до тех пор, пока не будут считаны все восемь байтов, не будет обнаружен конец потока или не будет выброшено исключение.

Определено в:
readLong в интерфейсе DataInput
Возвращает:
следующие восемь байтов этого файла, интерпретируемые как long.
Исключения:
EOFException — если этот файл достигнет конца до считывания восьми байтов.
IOException — если происходит ошибка ввода-вывода.

readFloat

public final float readFloat() throws IOException
Считывает из этого файла значение float. Этот метод считывает значение int, начиная с текущей позиции указателя файла, как если бы был вызван метод readInt, а затем преобразует это значение int в float с помощью метода intBitsToFloat класса Float.

Метод блокирует выполнение до тех пор, пока не будут считаны все четыре байта, не будет обнаружен конец потока или не будет выброшено исключение.

Определено в:
readFloat в интерфейсе DataInput
Возвращает:
следующие четыре байта этого файла, интерпретируемые как float.
Исключения:
EOFException — если этот файл достигнет конца до считывания четырех байтов.
IOException — если происходит ошибка ввода-вывода.
См. также:
  • readInt()
  • Float.intBitsToFloat(int)

readDouble

public final double readDouble() throws IOException
Считывает из этого файла значение double. Этот метод считывает значение long, начиная с текущей позиции указателя файла, как если бы был вызван метод readLong, а затем преобразует это значение long в double с помощью метода longBitsToDouble класса Double.

Метод блокирует выполнение до тех пор, пока не будут считаны все восемь байтов, не будет обнаружен конец потока или не будет выброшено исключение.

Определено в:
readDouble в интерфейсе DataInput
Возвращает:
следующие восемь байтов этого файла, интерпретируемые как double.
Исключения:
EOFException — если этот файл достигнет конца до считывания восьми байтов.
IOException — если происходит ошибка ввода-вывода.
См. также:
  • readLong()
  • Double.longBitsToDouble(long)

readLine

public final String readLine() throws IOException
Считывает следующую строку текста из этого файла. Этот метод последовательно считывает байты из файла, начиная с текущего указателя файла, пока не встретит символ окончания строки или конец файла. Каждый байт преобразуется в символ: его значение используется для младших восьми битов символа, а старшие восемь битов символа устанавливаются в ноль. Поэтому этот метод не поддерживает полный набор символов Unicode.

Строка текста завершается символом возврата каретки ('\r'), символом новой строки ('\n'), символом возврата каретки, за которым непосредственно следует символ новой строки, или концом файла. Символы окончания строки отбрасываются и не включаются в возвращаемую строку.

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

Определено в:
readLine в интерфейсе DataInput
Возвращает:
следующую строку текста из этого файла или null, если достигнут конец файла до считывания хотя бы одного байта.
Выбрасывает:
IOException — если возникает ошибка ввода-вывода.

readUTF

public final String readUTF() throws IOException
Считывает строку из этого файла. Строка закодирована в формате модифицированного UTF-8.

Первые два байта считываются, начиная с текущего указателя файла, как если бы это выполнялось с помощью readUnsignedShort. Это значение задаёт количество последующих байтов в закодированной строке, а не длину результирующей строки. Затем последующие байты интерпретируются как байты, кодирующие символы в формате модифицированного UTF-8, и преобразуются в символы.

Этот метод блокирует выполнение, пока не будут считаны все байты, не будет обнаружен конец потока или не возникнет исключение.

Определено в:
readUTF в интерфейсе DataInput
Возвращает:
строку Unicode.
Выбрасывает:
EOFException — если в этом файле достигнут конец до считывания всех байтов.
IOException — если возникает ошибка ввода-вывода.
UTFDataFormatException — если байты не представляют допустимую строку Unicode в кодировке модифицированного UTF-8.
См. также:
  • readUnsignedShort()

writeBoolean

public final void writeBoolean(boolean v) throws IOException
Записывает в файл boolean в виде однобайтового значения. Значение true записывается как значение (byte)1; значение false записывается как значение (byte)0. Запись начинается с текущей позиции указателя файла.
Определено в:
writeBoolean в интерфейсе DataOutput
Параметры:
v — значение boolean для записи.
Выбрасывает:
IOException — если возникает ошибка ввода-вывода.

writeByte

public final void writeByte(int v) throws IOException
Записывает в файл byte в виде однобайтового значения. Запись начинается с текущей позиции указателя файла.
Определено в:
writeByte в интерфейсе DataOutput
Параметры:
v — значение byte для записи.
Выбрасывает:
IOException — если возникает ошибка ввода-вывода.

writeShort

public final void writeShort(int v) throws IOException
Записывает в файл short в виде двух байтов, начиная со старшего байта. Запись начинается с текущей позиции указателя файла.
Определено в:
writeShort в интерфейсе DataOutput
Параметры:
v — значение short для записи.
Выбрасывает:
IOException — если возникает ошибка ввода-вывода.

writeChar

public final void writeChar(int v) throws IOException
Записывает в файл char в виде двухбайтового значения, начиная со старшего байта. Запись начинается с текущей позиции указателя файла.
Определено в:
writeChar в интерфейсе DataOutput
Параметры:
v — значение char для записи.
Выбрасывает:
IOException — если возникает ошибка ввода-вывода.

writeInt

public final void writeInt(int v) throws IOException
Записывает в файл int в виде четырёх байтов, начиная со старшего байта. Запись начинается с текущей позиции указателя файла.
Определено в:
writeInt в интерфейсе DataOutput
Параметры:
v — значение int для записи.
Выбрасывает:
IOException — если возникает ошибка ввода-вывода.

writeLong

public final void writeLong(long v) throws IOException
Записывает в файл long в виде восьми байтов, начиная со старшего байта. Запись начинается с текущей позиции указателя файла.
Определено в:
writeLong в интерфейсе DataOutput
Параметры:
v — значение long для записи.
Выбрасывает:
IOException — если возникает ошибка ввода-вывода.

writeFloat

public final void writeFloat(float v) throws IOException
Преобразует аргумент типа float в int с помощью метода floatToIntBits класса Float, а затем записывает это значение int в файл как четырёхбайтовую величину, начиная со старшего байта. Запись начинается с текущей позиции указателя файла.
Определено в:
writeFloat в интерфейсе DataOutput
Параметры:
v — значение float для записи.
Выбрасывает:
IOException — если возникает ошибка ввода-вывода.
См. также:
  • Float.floatToIntBits(float)

writeDouble

public final void writeDouble(double v) throws IOException
Преобразует аргумент типа double в long с помощью метода doubleToLongBits класса Double, а затем записывает это значение long в файл как восьмибайтовую величину, начиная со старшего байта. Запись начинается с текущей позиции указателя файла.
Определено в:
writeDouble в интерфейсе DataOutput
Параметры:
v — значение double для записи.
Выбрасывает:
IOException — если возникает ошибка ввода-вывода.
См. также:
  • Double.doubleToLongBits(double)

writeBytes

public final void writeBytes(String s) throws IOException
Записывает строку в файл как последовательность байтов. Каждый символ строки записывается по порядку с отбрасыванием его старших восьми битов. Запись начинается с текущей позиции указателя файла.
Определено в:
writeBytes в интерфейсе DataOutput
Параметры:
s — строка байтов для записи.
Выбрасывает:
IOException — если возникает ошибка ввода-вывода.

writeChars

public final void writeChars(String s) throws IOException
Записывает строку в файл как последовательность символов. Каждый символ записывается в поток вывода данных так, как если бы это выполнялось методом writeChar. Запись начинается с текущей позиции указателя файла.
Определено в:
writeChars в интерфейсе DataOutput
Параметры:
s — значение String для записи.
Выбрасывает:
IOException — если возникает ошибка ввода-вывода.
См. также:
  • writeChar(int)

writeUTF

public final void writeUTF(String str) throws IOException
Записывает строку в файл с использованием кодировки модифицированного UTF-8 независимым от платформы способом.

Сначала в файл записываются два байта, начиная с текущего указателя файла, как если бы это выполнялось методом writeShort, и задают количество последующих байтов. Это значение указывает фактическое количество записанных байтов, а не длину строки. После длины последовательно выводится каждый символ строки с использованием кодировки модифицированного UTF-8 для каждого символа.

Определено в:
writeUTF в интерфейсе DataOutput
Параметры:
str — строка для записи.
Выбрасывает:
IOException — если возникает ошибка ввода-вывода.

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, общие обзоры, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API