Spec-Zone.ru › OpenJDK 8

Класс 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, если поток был закрыт.

С:
JDK1.0

Конструкторы

Конструктор и описание
RandomAccessFile(File file, String mode)

Создает поток файла произвольного доступа для чтения из файла, и необязательно для записи в него, заданного аргументом File.

RandomAccessFile(String name, String mode)

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

Методы

Модификатор и тип Метод и описание
void close()

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

FileChannel getChannel()

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

FileDescriptor getFD()

Возвращает объект неявного дескриптора файла, связанный с этим потоком.

long getFilePointer()

Возвращает текущее смещение в этом файле.

long length()

Возвращает длину этого файла.

int read()

Считывает байт данных из этого файла.

int read(byte[] b)

Считывает до b.length байтов данных из этого файла в массив байтов.

int read(byte[] b, int off, int len)

Считывает до len байтов данных из этого файла в массив байтов.

boolean readBoolean()

Считывает boolean из этого файла.

byte readByte()

Считывает знаковое восьмибитовое значение из этого файла.

char readChar()

Считывает символ из этого файла.

double readDouble()

Считывает double из этого файла.

float readFloat()

Считывает float из этого файла.

void readFully(byte[] b)

Считывает b.length байтов из этого файла в массив байтов, начиная с текущего указателя файла.

void readFully(byte[] b, int off, int len)

Считывает ровно len байтов из этого файла в массив байтов, начиная с текущего указателя файла.

int readInt()

Считывает знаковое 32-битовое целое число из этого файла.

String readLine()

Считывает следующую строку текста из этого файла.

long readLong()

Считывает знаковое 64-битовое целое число из этого файла.

short readShort()

Считывает знаковое 16-битовое число из этого файла.

int readUnsignedByte()

Считывает беззнаковое восьмибитовое число из этого файла.

int readUnsignedShort()

Считывает беззнаковое 16-битовое число из этого файла.

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)

Записывает указанный байт в этот файл.

void writeBoolean(boolean v)

Записывает boolean в файл как значение одного байта.

void writeByte(int v)

Записывает byte в файл как значение одного байта.

void writeBytes(String s)

Записывает строку в файл как последовательность байтов.

void writeChar(int v)

Записывает char в файл как значение двух байтов, сначала старший байт.

void writeChars(String s)

Записывает строку в файл как последовательность символов.

void writeDouble(double v)

Преобразует двойное значение аргумента в long, используя метод doubleToLongBits в классе Double, а затем записывает это значение long в файл как восьмибайтовое значение, сначала старший байт.

void writeFloat(float v)

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

void writeInt(int v)

Записывает int в файл как четыре байта, сначала старший байт.

void writeLong(long v)

Записывает long в файл как восемь байтов, сначала старший байт.

void writeShort(int v)

Записывает short в файл как два байта, сначала старший байт.

void writeUTF(String str)

Записывает строку в файл с использованием кодировки модифицированного UTF-8 независимым от машины способом.

Методы, унаследованные от класса java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Конструкторы

RandomAccessFile

public RandomAccessFile(String name,
                        String mode)
                 throws FileNotFoundException

Создаёт поток для произвольного доступа к файлу для чтения, и необязательно для записи, с указанным именем. Новый объект FileDescriptor создаётся для представления соединения с файлом.

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

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

Параметры:
name - имя файла (зависит от системы)
mode - режим доступа режима
Исключения:
IllegalArgumentException - если аргумент mode не равен одному из "r", "rw", "rws", или "rwd"
FileNotFoundException - если режим равен "r", но заданная строка не обозначает существующий обычный файл, или если режим начинается с "rw", но заданная строка не обозначает существующий, доступный для записи обычный файл, и новый обычный файл с таким именем не может быть создан, или если произошла какая-либо другая ошибка при открытии или создании файла
SecurityException - если менеджер безопасности существует и его метод checkRead запрещает чтение файла или режим равен "rw", и метод менеджера безопасности checkWrite запрещает запись в файл
См. также:
SecurityException, SecurityManager.checkRead(java.lang.String), SecurityManager.checkWrite(java.lang.String)

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" требует записи обновлений и метаданных файла, что обычно требует как минимум ещё одной операции низкого уровня ввода-вывода.

Если существует менеджер безопасности, его метод checkRead вызывается с путём к file аргумента для проверки разрешения на чтение файла. Если режим позволяет запись, метод менеджера безопасности checkWrite также вызывается с путём аргумента для проверки разрешения на запись в файл.

Параметры:
file - объект файла
mode - режим доступа, как описано выше
Исключения:
IllegalArgumentException - если аргумент mode не равен одному из "r", "rw", "rws", или "rwd"
FileNotFoundException - если режим равен "r", но заданный объект файла не обозначает существующий обычный файл, или если режим начинается с "rw", но заданный объект файла не обозначает существующий, доступный для записи обычный файл, и новый обычный файл с таким именем не может быть создан, или если произошла какая-либо другая ошибка при открытии или создании файла
SecurityException - если менеджер безопасности существует и его метод checkRead запрещает чтение файла или режим равен "rw", и метод менеджера безопасности checkWrite запрещает запись в файл
См. также:
SecurityManager.checkRead(java.lang.String), SecurityManager.checkWrite(java.lang.String), 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 - буфер, в который считываются данные.
Исключения:
EOFException - если файл достиг конца, прежде чем были прочитаны все байты.
IOException - если произошла ошибка ввода-вывода.

readFully

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

Считывает ровно len байт из этого файла в массив байтов, начиная с текущей позиции указателя файла. Этот метод многократно считывает данные из файла, пока не будет прочитано нужное количество байтов. Этот метод блокируется, пока не будет прочитано требуемое количество байтов, не будет обнаружен конец потока или не будет выброшено исключение.

Указано в:
readFully в интерфейсе DataInput
Параметры:
b - буфер, в который считываются данные.
off - начальный смещение данных.
len - количество байтов для чтения.
Исключения:
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 - если произошла ошибка ввода-вывода.

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, больше, чем newLength, то после возврата этого метода смещение будет равно newLength.

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

Параметры:
newLength - Желаемая длина файла
Исключения:
IOException - Если произошла ошибка ввода-вывода
С:
1.2

close

public void close()
           throws IOException

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

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

Указано в:
close в интерфейсе Closeable
Указано в:
close в интерфейсе AutoCloseable
Исключения:
IOException - если произошла ошибка ввода-вывода.

readBoolean

public final boolean readBoolean()
                          throws IOException

Считывает boolean из этого файла. Этот метод считывает один байт из файла, начиная с текущей позиции указателя файла. Значение 0 представляет false. Любое другое значение представляет true. Этот метод блокируется, пока байт не будет прочитан, не будет обнаружен конец потока или не будет выброшено исключение.

Указано в:
readBoolean в интерфейсе DataInput
Возвращает:
прочитанное значение boolean.
Исключения:
EOFException - если файл достиг конца.
IOException - если произошла ошибка ввода-вывода.

readByte

public final byte readByte()
                    throws IOException

Считывает знаковое значение в 8 бит из этого файла. Этот метод считывает байт из файла, начиная с текущей позиции указателя файла. Если прочитанный байт равен 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

Считывает следующую строку текста из этого файла. Этот метод последовательно считывает байты из файла, начиная с текущей позиции указателя файла, до тех пор, пока не достигнет символа конца строки или конца файла. Каждый байт преобразуется в символ путём взятия значения байта для младших восьми битов символа и установки старших восьми битов символа в ноль. Таким образом, этот метод не поддерживает полный набор символов Юникод.

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

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

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

readUTF

public final String readUTF()
                     throws IOException

Считывает строку из этого файла. Строка закодирована в формате изменённого UTF-8.

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

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

Указано:
readUTF в интерфейсе DataInput
Возвращает:
строку Юникод.
Выбрасывает:
EOFException - если этот файл достигает конца перед чтением всех байтов.
IOException - если байты не представляют собой допустимую кодировку изменённого UTF-8 для строки Юникод.
UTFDataFormatException - если байты не представляют собой корректную кодировку строки Юникод в формате изменённого 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 - если произошла ошибка ввода-вывода.

© 1993, 2020, 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