Язык

AsynchronousFileChannel Класс

Определение

Асинхронный канал для чтения, записи и управления файлом.

[Android.Runtime.Register("java/nio/channels/AsynchronousFileChannel", ApiSince=26, DoNotGenerateAcw=true)]
public abstract class AsynchronousFileChannel : Java.Lang.Object, IDisposable, Java.Nio.Channels.IAsynchronousChannel
[<Android.Runtime.Register("java/nio/channels/AsynchronousFileChannel", ApiSince=26, DoNotGenerateAcw=true)>]
type AsynchronousFileChannel = class
    inherit Object
    interface IAsynchronousChannel
    interface IChannel
    interface ICloseable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Наследование
AsynchronousFileChannel
Атрибуты
Реализации

Комментарии

Асинхронный канал для чтения, записи и управления файлом.

Асинхронный канал файлов создается при открытии файла путем вызова одного из методов, определенных #open open этим классом. Файл содержит последовательность байтов переменной длины, которую можно считывать и записывать, а текущий размер может быть #size() queried. Размер файла увеличивается, когда байты записываются за пределы текущего размера; размер файла уменьшается при его использовании #truncate truncated.

Асинхронный канал файлов не имеет текущей позиции в файле. Вместо этого позиция файла указывается для каждого метода чтения и записи, инициирующего асинхронные операции. Указывается CompletionHandler в качестве параметра и вызывается для использования результата операции ввода-вывода. Этот класс также определяет методы чтения и записи, которые инициируют асинхронные операции, возвращая ожидающий Future результат операции. Его Future можно использовать для проверки завершения операции, ожидания его завершения и получения результата.

Помимо операций чтения и записи, этот класс определяет следующие операции:

<Ул>

<li>

Обновления, внесенные в файл, могут быть #force <i>forced out</i> на базовом устройстве хранения, гарантируя, что данные не будут потеряны в случае сбоя системы.

</li>

<li>

Область файла может быть #lock <i>locked</i> против доступа другими программами.

</li>

</ul>

Связан AsynchronousFileChannel с пулом потоков, к которому отправляются задачи для обработки событий ввода-вывода и отправки в обработчики завершения, которые используют результаты операций ввода-вывода в канале. Обработчик завершения для операции ввода-вывода, инициированной в канале, гарантированно вызывается одним из потоков в пуле потоков (это гарантирует, что обработчик завершения выполняется потоком с ожидаемым <идентификатором< em>/em>). Когда операция ввода-вывода завершается немедленно, и инициирующий поток является потоком в пуле потоков, обработчик завершения может вызываться непосредственно инициирующим потоком. AsynchronousFileChannel При создании без указания пула потоков канал связан с пулом потоков по умолчанию, зависящим от системы, который может быть предоставлен другим каналам. Пул потоков по умолчанию настраивается системными свойствами, определенными классом AsynchronousChannelGroup .

Каналы этого типа безопасны для использования несколькими параллельными потоками. Метод Channel#close close может вызываться в любое время, как указано интерфейсом Channel . Это приводит к выполнению всех невыполненных асинхронных операций в канале с исключением AsynchronousCloseException. Одновременно несколько операций чтения и записи могут быть невыполнены. При выполнении нескольких операций чтения и записи порядок операций ввода-вывода и порядок вызова обработчиков завершения не указан; Они не являются, в частности, гарантированно выполняться в том порядке, в который были инициированы операции. Используемые java.nio.ByteBuffer ByteBuffers при чтении или записи небезопасны для использования несколькими параллельными операциями ввода-вывода. Кроме того, после инициирования операции ввода-вывода необходимо принять меры, чтобы убедиться, что буфер недоступен до завершения операции.

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

Добавлено в версии 1.7.

Java документации по java.nio.channels.AsynchronousFileChannel.

Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".

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

Имя. Описание
AsynchronousFileChannel()

Инициализирует новый экземпляр этого класса.

AsynchronousFileChannel(IntPtr, JniHandleOwnership)

Асинхронный канал для чтения, записи и управления файлом.

Свойства

Имя. Описание
Class

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

(Унаследовано от Object)
Handle

Дескриптор базового экземпляра Android.

(Унаследовано от Object)
IsOpen

Асинхронный канал для чтения, записи и управления файлом.

JniIdentityHashCode

Возвращает хэш-код удостоверения, назначенный этому Java одноранговой среде выполнения взаимодействия.

(Унаследовано от Object)
JniManagedPeerState

Асинхронный канал для чтения, записи и управления файлом.

(Унаследовано от JavaObject)
JniPeerMembers

Асинхронный канал для чтения, записи и управления файлом.

PeerReference

Возвращает ссылку на объект JNI для этого Java однорангового узла.

(Унаследовано от Object)
ThresholdClass

Асинхронный канал для чтения, записи и управления файлом.

ThresholdType

Асинхронный канал для чтения, записи и управления файлом.

Методы

Имя. Описание
Clone()

Создает и возвращает копию этого объекта.

(Унаследовано от Object)
Close()

Закрывает этот канал.

Construct(JniObjectReference, JniObjectReferenceOptions)

Асинхронный канал для чтения, записи и управления файлом.

(Унаследовано от JavaObject)
Dispose()

Освобождает ресурсы, удерживаемые этим Java одноранговым узлом.

(Унаследовано от Object)
Dispose(Boolean)

Освобождает ресурсы, удерживаемые этим Java одноранговым узлом.

(Унаследовано от Object)
DisposeUnlessReferenced()

Асинхронный канал для чтения, записи и управления файлом.

(Унаследовано от JavaObject)
Equals(Object)

Асинхронный канал для чтения, записи и управления файлом.

(Унаследовано от JavaObject)
Equals(Object)

Указывает, равен ли другой объект этому объекту.

(Унаследовано от Object)
Force(Boolean)

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

GetHashCode()

Возвращает хэш-значение кода для объекта.

(Унаследовано от Object)
JavaFinalize()
Устаревшие.

Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет.

(Унаследовано от Object)
Lock()

Получает монопольную блокировку файла этого канала.

Lock(Int64, Int64, Boolean, Object, ICompletionHandler)

Получает блокировку в заданном регионе файла этого канала.

Lock(Int64, Int64, Boolean)

Получает блокировку в заданном регионе файла этого канала.

Lock(Object, ICompletionHandler)

Получает монопольную блокировку файла этого канала.

Notify()

Просыпается один поток, ожидающий монитора этого объекта.

(Унаследовано от Object)
NotifyAll()

Просыпает все потоки, ожидающие монитора этого объекта.

(Унаследовано от Object)
Open(IPath, ICollection<IOpenOption>, IExecutorService, IFileAttribute[])

Открывает или создает файл для чтения и записи, возвращая асинхронный канал файлов для доступа к файлу.

Open(IPath, IOpenOption[])

Открывает или создает файл для чтения и записи, возвращая асинхронный канал файлов для доступа к файлу.

Read(ByteBuffer, Int64, Object, ICompletionHandler)

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

Read(ByteBuffer, Int64)

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

SetHandle(IntPtr, JniHandleOwnership)

Задает свойство Handle.

(Унаследовано от Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Асинхронный канал для чтения, записи и управления файлом.

(Унаследовано от JavaObject)
Size()

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

ToArray<T>()

Создает управляемый массив из этого Java оболочки массива.

(Унаследовано от Object)
ToString()

Возвращает строковое представление объекта.

(Унаследовано от Object)
Truncate(Int64)

Усечение файла этого канала до заданного размера.

TryLock()

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

TryLock(Int64, Int64, Boolean)

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

UnregisterFromRuntime()

Отменяет регистрацию этого Java однорангового узла из среды выполнения взаимодействия.

(Унаследовано от Object)
Wait()

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, путем <><уведомления/>em или <эм>прерванного</em.>

(Унаследовано от Object)
Wait(Int64, Int32)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)
Wait(Int64)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)
Write(ByteBuffer, Int64, Object, ICompletionHandler)

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

Write(ByteBuffer, Int64)

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

Явные реализации интерфейса

Имя. Описание
IJavaPeerable.Disposed()

Асинхронный канал для чтения, записи и управления файлом.

(Унаследовано от JavaObject)
IJavaPeerable.Finalized()

Асинхронный канал для чтения, записи и управления файлом.

(Унаследовано от JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Асинхронный канал для чтения, записи и управления файлом.

(Унаследовано от JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Асинхронный канал для чтения, записи и управления файлом.

(Унаследовано от JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Асинхронный канал для чтения, записи и управления файлом.

(Унаследовано от JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Асинхронный канал для чтения, записи и управления файлом.

(Унаследовано от JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Асинхронный канал для чтения, записи и управления файлом.

Методы расширения

Имя. Описание
GetJniTypeName(IJavaPeerable)

Возвращает имя JNI типа экземпляра self.

JavaAs<TResult>(IJavaPeerable)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверяемого средой выполнения Android.

JavaCast<TResult>(IJavaObject)

Асинхронный канал для чтения, записи и управления файлом.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

Применяется к