AsynchronousFileChannel Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Saluran asinkron untuk membaca, menulis, dan memanipulasi file.
[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
- Warisan
- Atribut
- Penerapan
Keterangan
Saluran asinkron untuk membaca, menulis, dan memanipulasi file.
Saluran file asinkron dibuat ketika file dibuka dengan memanggil salah satu metode yang #open open ditentukan oleh kelas ini. File berisi urutan byte panjang variabel yang dapat dibaca dan ditulis dan yang ukurannya saat ini bisa .#size() queried Ukuran file meningkat ketika byte ditulis di luar ukurannya saat ini; ukuran file berkurang ketika .#truncate truncated
Saluran file asinkron tidak memiliki posisi saat ini dalam file. Sebagai gantinya, posisi file ditentukan untuk setiap metode baca dan tulis yang memulai operasi asinkron.
CompletionHandler ditentukan sebagai parameter dan dipanggil untuk menggunakan hasil operasi I/O. Kelas ini juga mendefinisikan metode baca dan tulis yang memulai operasi asinkron, mengembalikan Future untuk mewakili hasil operasi yang tertunda.
Future dapat digunakan untuk memeriksa apakah operasi telah selesai, menunggu penyelesaiannya, dan mengambil hasilnya.
Selain operasi baca dan tulis, kelas ini menentukan operasi berikut:
<ul>
<li>
Pembaruan yang dibuat pada file mungkin ke #force <i>forced out</i> perangkat penyimpanan yang mendasar, memastikan bahwa data tidak hilang jika terjadi crash sistem.
</li>
<li>
Wilayah file mungkin bertentangan #lock <i>locked</i> dengan akses oleh program lain.
</li>
</ul>
Dikaitkan AsynchronousFileChannel dengan kumpulan utas tempat tugas dikirimkan untuk menangani peristiwa I/O dan mengirim ke handler penyelesaian yang mengonsumsi hasil operasi I/O di saluran. Handler penyelesaian untuk operasi I/O yang dimulai pada saluran dijamin akan dipanggil oleh salah satu utas di kumpulan utas (Ini memastikan bahwa handler penyelesaian dijalankan oleh utas dengan identitas</em> yang>diharapkan<). Ketika operasi I/O segera selesai, dan utas yang memulai adalah utas di kumpulan utas, maka handler penyelesaian dapat dipanggil langsung oleh utas yang memulai.
AsynchronousFileChannel Saat dibuat tanpa menentukan kumpulan utas, saluran dikaitkan dengan kumpulan utas default yang bergantung pada sistem yang dapat dibagikan dengan saluran lain. Kumpulan utas default dikonfigurasi oleh properti sistem yang ditentukan oleh AsynchronousChannelGroup kelas .
Saluran jenis ini aman untuk digunakan oleh beberapa utas bersamaan. Metode Channel#close close ini dapat dipanggil kapan saja, seperti yang ditentukan oleh Channel antarmuka. Ini menyebabkan semua operasi asinkron yang luar biasa pada saluran selesai dengan pengecualian AsynchronousCloseException. Beberapa operasi baca dan tulis mungkin luar biasa pada saat yang sama. Ketika beberapa operasi baca dan tulis luar biasa, maka urutan operasi I/O, dan urutan penangan penyelesaian dipanggil, tidak ditentukan; mereka tidak, khususnya, dijamin untuk dijalankan dalam urutan operasi dimulai. Yang java.nio.ByteBuffer ByteBuffers digunakan saat membaca atau menulis tidak aman untuk digunakan oleh beberapa operasi I/O bersamaan. Selain itu, setelah operasi I/O dimulai, maka perawatan harus dilakukan untuk memastikan bahwa buffer tidak diakses sampai setelah operasi selesai.
FileChannelSeperti halnya , tampilan file yang disediakan oleh instans kelas ini dijamin konsisten dengan tampilan lain dari file yang sama yang disediakan oleh instans lain dalam program yang sama. Tampilan yang disediakan oleh instans kelas ini mungkin atau mungkin tidak, namun, konsisten dengan tampilan yang dilihat oleh program lain yang berjalan bersamaan karena penembolokan yang dilakukan oleh sistem operasi yang mendasar dan penundaan yang diinduksi oleh protokol sistem file jaringan. Ini benar terlepas dari bahasa di mana program lain ini ditulis, dan apakah mereka berjalan pada komputer yang sama atau di beberapa komputer lain. Sifat yang tepat dari setiap inkonsistensi tersebut bergantung pada sistem dan oleh karena itu tidak ditentukan.
Ditambahkan dalam 1.7.
Java dokumentasi untuk java.nio.channels.AsynchronousFileChannel.
Bagian dari halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Android Open Source Project dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Creative Commons 2.5 Lisensi Atribusi.
Konstruktor
| Nama | Deskripsi |
|---|---|
| AsynchronousFileChannel() |
Menginisialisasi instans baru kelas ini. |
| AsynchronousFileChannel(IntPtr, JniHandleOwnership) |
Saluran asinkron untuk membaca, menulis, dan memanipulasi file. |
Properti
| Nama | Deskripsi |
|---|---|
| Class |
Mengembalikan kelas runtime dari . |
| Handle |
Handel ke instans Android yang mendasar. (Diperoleh dari Object) |
| IsOpen |
Saluran asinkron untuk membaca, menulis, dan memanipulasi file. |
| JniIdentityHashCode |
Mendapatkan kode hash identitas yang ditetapkan ke Java peer ini oleh runtime interop. (Diperoleh dari Object) |
| JniManagedPeerState |
Saluran asinkron untuk membaca, menulis, dan memanipulasi file. (Diperoleh dari JavaObject) |
| JniPeerMembers |
Saluran asinkron untuk membaca, menulis, dan memanipulasi file. |
| PeerReference |
Mendapatkan referensi objek JNI untuk peer Java ini. (Diperoleh dari Object) |
| ThresholdClass |
Saluran asinkron untuk membaca, menulis, dan memanipulasi file. |
| ThresholdType |
Saluran asinkron untuk membaca, menulis, dan memanipulasi file. |
Metode
| Nama | Deskripsi |
|---|---|
| Clone() |
Membuat dan mengembalikan salinan objek ini. (Diperoleh dari Object) |
| Close() |
Menutup saluran ini. |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Saluran asinkron untuk membaca, menulis, dan memanipulasi file. (Diperoleh dari JavaObject) |
| Dispose() |
Merilis sumber daya yang dipegang oleh rekan Java ini. (Diperoleh dari Object) |
| Dispose(Boolean) |
Merilis sumber daya yang dipegang oleh rekan Java ini. (Diperoleh dari Object) |
| DisposeUnlessReferenced() |
Saluran asinkron untuk membaca, menulis, dan memanipulasi file. (Diperoleh dari JavaObject) |
| Equals(Object) |
Saluran asinkron untuk membaca, menulis, dan memanipulasi file. (Diperoleh dari JavaObject) |
| Equals(Object) |
Menunjukkan apakah beberapa objek lain "sama dengan" yang satu ini. (Diperoleh dari Object) |
| Force(Boolean) |
Memaksa pembaruan apa pun pada file saluran ini untuk ditulis ke perangkat penyimpanan yang berisinya. |
| GetHashCode() |
Mengembalikan nilai kode hash untuk objek . (Diperoleh dari Object) |
| JavaFinalize() |
Dipanggil oleh pengumpul sampah pada objek ketika pengumpulan sampah menentukan bahwa tidak ada lagi referensi ke objek. (Diperoleh dari Object) |
| Lock() |
Memperoleh kunci eksklusif pada file saluran ini. |
| Lock(Int64, Int64, Boolean, Object, ICompletionHandler) |
Memperoleh kunci pada wilayah tertentu dari file saluran ini. |
| Lock(Int64, Int64, Boolean) |
Memperoleh kunci pada wilayah tertentu dari file saluran ini. |
| Lock(Object, ICompletionHandler) |
Memperoleh kunci eksklusif pada file saluran ini. |
| Notify() |
Membangunkan satu utas yang menunggu monitor objek ini. (Diperoleh dari Object) |
| NotifyAll() |
Membangunkan semua utas yang menunggu monitor objek ini. (Diperoleh dari Object) |
| Open(IPath, ICollection<IOpenOption>, IExecutorService, IFileAttribute[]) |
Membuka atau membuat file untuk membaca dan/atau menulis, mengembalikan saluran file asinkron untuk mengakses file. |
| Open(IPath, IOpenOption[]) |
Membuka atau membuat file untuk membaca dan/atau menulis, mengembalikan saluran file asinkron untuk mengakses file. |
| Read(ByteBuffer, Int64, Object, ICompletionHandler) |
Membaca urutan byte dari saluran ini ke dalam buffer yang diberikan, dimulai dari posisi file yang diberikan. |
| Read(ByteBuffer, Int64) |
Membaca urutan byte dari saluran ini ke dalam buffer yang diberikan, dimulai dari posisi file yang diberikan. |
| SetHandle(IntPtr, JniHandleOwnership) |
Mengatur properti Handle. (Diperoleh dari Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Saluran asinkron untuk membaca, menulis, dan memanipulasi file. (Diperoleh dari JavaObject) |
| Size() |
Mengembalikan ukuran saat ini dari file saluran ini. |
| ToArray<T>() |
Membuat array terkelola dari pembungkus array Java ini. (Diperoleh dari Object) |
| ToString() |
Mengembalikan representasi string objek. (Diperoleh dari Object) |
| Truncate(Int64) |
Memotong file saluran ini ke ukuran tertentu. |
| TryLock() |
Mencoba memperoleh kunci eksklusif pada file saluran ini. |
| TryLock(Int64, Int64, Boolean) |
Mencoba memperoleh kunci pada wilayah tertentu dari file saluran ini. |
| UnregisterFromRuntime() |
Membatalkan pendaftaran peer Java ini dari runtime interop. (Diperoleh dari Object) |
| Wait() |
Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <diberitahu></em> atau <em>terganggu</em>. (Diperoleh dari Object) |
| Wait(Int64, Int32) |
Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <>diberitahu</em> atau <em>terganggu</em>, atau sampai sejumlah waktu nyata berlalu. (Diperoleh dari Object) |
| Wait(Int64) |
Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <>diberitahu</em> atau <em>terganggu</em>, atau sampai sejumlah waktu nyata berlalu. (Diperoleh dari Object) |
| Write(ByteBuffer, Int64, Object, ICompletionHandler) |
Menulis urutan byte ke saluran ini dari buffer yang diberikan, dimulai dari posisi file yang diberikan. |
| Write(ByteBuffer, Int64) |
Menulis urutan byte ke saluran ini dari buffer yang diberikan, dimulai dari posisi file yang diberikan. |
Implementasi Antarmuka Eksplisit
| Nama | Deskripsi |
|---|---|
| IJavaPeerable.Disposed() |
Saluran asinkron untuk membaca, menulis, dan memanipulasi file. (Diperoleh dari JavaObject) |
| IJavaPeerable.Finalized() |
Saluran asinkron untuk membaca, menulis, dan memanipulasi file. (Diperoleh dari JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
Saluran asinkron untuk membaca, menulis, dan memanipulasi file. (Diperoleh dari JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Saluran asinkron untuk membaca, menulis, dan memanipulasi file. (Diperoleh dari JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Saluran asinkron untuk membaca, menulis, dan memanipulasi file. (Diperoleh dari JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Saluran asinkron untuk membaca, menulis, dan memanipulasi file. (Diperoleh dari JavaObject) |
| IJavaPeerable.UnregisterFromRuntime() |
Saluran asinkron untuk membaca, menulis, dan memanipulasi file. |
Metode Ekstensi
| Nama | Deskripsi |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Mendapatkan nama JNI dari jenis instans |
| JavaAs<TResult>(IJavaPeerable) |
Cobalah untuk memaksa |
| JavaCast<TResult>(IJavaObject) |
Melakukan konversi jenis yang diperiksa runtime Android. |
| JavaCast<TResult>(IJavaObject) |
Saluran asinkron untuk membaca, menulis, dan memanipulasi file. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Cobalah untuk memaksa |