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
- Наследование
- Атрибуты
- Реализации
Комментарии
Асинхронный канал для чтения, записи и управления файлом.
Асинхронный канал файлов создается при открытии файла путем вызова одного из методов, определенных #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 |
Возвращает класс среды выполнения этого |
| 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 типа экземпляра |
| JavaAs<TResult>(IJavaPeerable) |
Попробуйте принуждать к типу |
| JavaCast<TResult>(IJavaObject) |
Выполняет преобразование типа, проверяемого средой выполнения Android. |
| JavaCast<TResult>(IJavaObject) |
Асинхронный канал для чтения, записи и управления файлом. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Попробуйте принуждать к типу |