Класс RandomAccessFile
RandomAccessFile обеспечивает произвольный доступ к данным в файле.
RandomAccessFile объекты получаются вызовом метода open объекта File.
В объекте RandomAccessFile имеются как асинхронные, так и синхронные методы. Асинхронные методы возвращают Future, в то время как синхронные методы возвращают результат напрямую, блокируя текущий изолят до готовности результата.
В данный момент на экземпляре RandomAccessFile может выполняться не более одного асинхронного метода. Если асинхронный метод вызывается, когда уже выполняется другой, выбрасывается исключение FileSystemException.
Если асинхронный метод находится в ожидании, невозможно вызвать какие-либо синхронные методы. Это также приведет к выбрасыванию исключения FileSystemException.
Конструкторы
- RandomAccessFile()
Свойства
- path → String только для чтения
-
Получает путь к файлу, лежащему в основе этого RandomAccessFile.
- hashCode → int только для чтения, унаследованно
-
Хэш-код этого объекта.
- runtimeType → Type только для чтения, унаследованно
-
Представление типа во время выполнения объекта.
Операторы
- operator ==(
other) → bool унаследовано -
Оператор равенства.
Методы
- close(
) → Future<RandomAccessFile> -
Закрывает файл. Возвращает
Future<RandomAccessFile>, который завершается с этим RandomAccessFile, когда он будет закрыт. - closeSync(
) → void -
Синхронно закрывает файл.
- flush(
) → Future<RandomAccessFile> -
Очищает содержимое файла в дисковую память. Возвращает
Future<RandomAccessFile>, который завершается с этим RandomAccessFile, когда операция очистки завершена. - flushSync(
) → void -
Синхронно очищает содержимое файла в дисковую память.
- length(
) → Future<int> -
Получает длину файла. Возвращает
Future<int>, который завершается с длиной в байтах. - lengthSync(
) → int -
Синхронно получает длину файла.
- lock(
[FileLock mode = FileLock.EXCLUSIVE, int start = 0, int end = -1 ]) → Future<RandomAccessFile> -
Блокирует файл или часть файла.
- lockSync(
[FileLock mode = FileLock.EXCLUSIVE, int start = 0, int end = -1 ]) → void -
Синхронно блокирует файл или часть файла.
- position(
) → Future<int> -
Получает текущую позицию байта в файле. Возвращает
Future<int>, который завершается с позицией. - positionSync(
) → int -
Синхронно получает текущую позицию байта в файле.
- read(
int bytes) → Future<List<int>> -
Читает
bytesбайт из файла и возвращает результат в виде списка байтов. - readByte(
) → Future<int> -
Читает байт из файла. Возвращает
Future<int>, который завершается с байтом или с -1, если достигнут конец файла. - readByteSync(
) → int -
Синхронно считывает один байт из файла. Если достигнут конец файла, возвращается -1.
- readInto(
List<int> buffer, [ int start = 0, int end ]) → Future<int> -
Считывает данные в существующий
List<int>из файла. Еслиstartприсутствует, байты будут помещены вbufferс индексомstart, в противном случае с индексом 0. Еслиendприсутствует, будут считываться байты сend-startиндексов вbuffer, иначе доbuffer.length. Еслиend==startничего не происходит. - readIntoSync(
List<int> buffer, [ int start = 0, int end ]) → int -
Синхронно считывает данные в существующий
List<int>из файла. Еслиstartприсутствует, байты будут помещены вbufferс индексомstart, в противном случае с индексом 0. Еслиendприсутствует, будут считываться байты сend-startиндексов вbuffer, иначе доbuffer.length. Еслиend==startничего не происходит. - readSync(
int bytes) → List<int> -
Синхронно считывает не более
bytesбайт из файла и возвращает результат в виде списка байтов. - setPosition(
int position) → Future<RandomAccessFile> -
Устанавливает позицию байта в файле. Возвращает
Future<RandomAccessFile>, который завершается с этим RandomAccessFile, когда позиция установлена. - setPositionSync(
int position) → void -
Синхронно устанавливает позицию байта в файле.
- toString(
) → String -
Возвращает удобочитаемую строку для этого экземпляра RandomAccessFile.
- truncate(
int length) → Future<RandomAccessFile> -
Усекает (или расширяет) файл до
lengthбайт. ВозвращаетFuture<RandomAccessFile>, который завершается с этим RandomAccessFile, когда усечение выполнено. - truncateSync(
int length) → void -
Синхронно усекает (или расширяет) файл до
lengthбайт. - unlock(
[int start = 0, int end = -1 ]) → Future<RandomAccessFile> -
Разблокирует файл или часть файла.
- unlockSync(
[int start = 0, int end = -1 ]) → void -
Синхронно разблокирует файл или часть файла.
- writeByte(
int value) → Future<RandomAccessFile> -
Записывает один байт в файл. Возвращает
Future<RandomAccessFile>, который завершается с этим RandomAccessFile, когда запись завершена. - writeByteSync(
int value) → int -
Синхронно записывает один байт в файл. Возвращает количество успешно записанных байтов.
- writeFrom(
List<int> buffer, [ int start = 0, int end ]) → Future<RandomAccessFile> -
Записывает данные из
List<int>в файл. Он будет читать буфер с индексаstartдо индексаend. Еслиstartопущено, будет начинаться с индекса 0. Еслиendопущено, будет записываться до концаbuffer. - writeFromSync(
List<int> buffer, [ int start = 0, int end ]) → void -
Синхронно записывает данные из
List<int>в файл. Он будет читать буфер с индексаstartдо индексаend. Еслиstartопущено, будет начинаться с индекса 0. Еслиendопущено, будет записываться до концаbuffer. - writeString(
String string, { Encoding encoding: UTF8 }) → Future<RandomAccessFile> -
Записывает строку в файл с использованием указанного Encoding. Возвращает
Future<RandomAccessFile>, который завершается с этим RandomAccessFile, когда запись завершена. - writeStringSync(
String string, { Encoding encoding: UTF8 }) → void -
Синхронно записывает строку в файл с использованием указанного Encoding.
- noSuchMethod(
Invocation invocation) → dynamic inherited -
Вызывается при обращении к несуществующему методу или свойству.
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-io/RandomAccessFile-class.html