GZipStream 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.
Menyediakan metode dan properti yang digunakan untuk mengompresi dan mendekompresi aliran dengan menggunakan spesifikasi format data GZip.
public ref class GZipStream : System::IO::Stream
public class GZipStream : System.IO.Stream
type GZipStream = class
inherit Stream
Public Class GZipStream
Inherits Stream
- Warisan
- Warisan
Contoh
Contoh berikut menunjukkan cara menggunakan kelas GZipStream untuk mengompresi dan mendekompresi direktori file.
using System;
using System.IO;
using System.IO.Compression;
public class FileCompressionModeExample
{
private const string Message = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
private const string OriginalFileName = "original.txt";
private const string CompressedFileName = "compressed.gz";
private const string DecompressedFileName = "decompressed.txt";
public static void Run()
{
CreateFileToCompress();
CompressFile();
DecompressFile();
PrintResults();
DeleteFiles();
/*
Output:
The original file 'original.txt' is 445 bytes. Contents: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
The compressed file 'compressed.gz' is 283 bytes.
The decompressed file 'decompressed.txt' is 445 bytes. Contents: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
*/
}
private static void CreateFileToCompress() => File.WriteAllText(OriginalFileName, Message);
private static void CompressFile()
{
using FileStream originalFileStream = File.Open(OriginalFileName, FileMode.Open);
using FileStream compressedFileStream = File.Create(CompressedFileName);
using var compressor = new GZipStream(compressedFileStream, CompressionMode.Compress);
originalFileStream.CopyTo(compressor);
}
private static void DecompressFile()
{
using FileStream compressedFileStream = File.Open(CompressedFileName, FileMode.Open);
using FileStream outputFileStream = File.Create(DecompressedFileName);
using var decompressor = new GZipStream(compressedFileStream, CompressionMode.Decompress);
decompressor.CopyTo(outputFileStream);
}
private static void PrintResults()
{
long originalSize = new FileInfo(OriginalFileName).Length;
long compressedSize = new FileInfo(CompressedFileName).Length;
long decompressedSize = new FileInfo(DecompressedFileName).Length;
Console.WriteLine($"The original file '{OriginalFileName}' is {originalSize} bytes. Contents: \"{File.ReadAllText(OriginalFileName)}\"");
Console.WriteLine($"The compressed file '{CompressedFileName}' is {compressedSize} bytes.");
Console.WriteLine($"The decompressed file '{DecompressedFileName}' is {decompressedSize} bytes. Contents: \"{File.ReadAllText(DecompressedFileName)}\"");
}
private static void DeleteFiles()
{
File.Delete(OriginalFileName);
File.Delete(CompressedFileName);
File.Delete(DecompressedFileName);
}
}
Imports System
Imports System.IO
Imports System.IO.Compression
Public Class FileCompressionModeExample
Private Const Message As String = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
Private Const OriginalFileName As String = "original.txt"
Private Const CompressedFileName As String = "compressed.gz"
Private Const DecompressedFileName As String = "decompressed.txt"
Public Shared Sub Main()
CreateFileToCompress()
CompressFile()
DecompressFile()
PrintResults()
DeleteFiles()
' Output:
' The original file 'original.txt' weighs 445 bytes. Contents: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
' The compressed file 'compressed.gz' weighs 283 bytes.
' The decompressed file 'decompressed.txt' weighs 445 bytes. Contents: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
End Sub
Private Shared Sub CreateFileToCompress()
File.WriteAllText(OriginalFileName, Message)
End Sub
Private Shared Sub CompressFile()
Using originalFileStream As FileStream = File.Open(OriginalFileName, FileMode.Open)
Using compressedFileStream As FileStream = File.Create(CompressedFileName)
Using compressor = New GZipStream(compressedFileStream, CompressionMode.Compress)
originalFileStream.CopyTo(compressor)
End Using
End Using
End Using
End Sub
Private Shared Sub DecompressFile()
Using compressedFileStream As FileStream = File.Open(CompressedFileName, FileMode.Open)
Using outputFileStream As FileStream = File.Create(DecompressedFileName)
Using decompressor = New GZipStream(compressedFileStream, CompressionMode.Decompress)
decompressor.CopyTo(outputFileStream)
End Using
End Using
End Using
End Sub
Private Shared Sub PrintResults()
Dim originalSize As Long = New FileInfo(OriginalFileName).Length
Dim compressedSize As Long = New FileInfo(CompressedFileName).Length
Dim decompressedSize As Long = New FileInfo(DecompressedFileName).Length
Console.WriteLine($"The original file '{OriginalFileName}' weighs {originalSize} bytes. Contents: ""{File.ReadAllText(OriginalFileName)}""")
Console.WriteLine($"The compressed file '{CompressedFileName}' weighs {compressedSize} bytes.")
Console.WriteLine($"The decompressed file '{DecompressedFileName}' weighs {decompressedSize} bytes. Contents: ""{File.ReadAllText(DecompressedFileName)}""")
End Sub
Private Shared Sub DeleteFiles()
File.Delete(OriginalFileName)
File.Delete(CompressedFileName)
File.Delete(DecompressedFileName)
End Sub
End Class
Keterangan
Kelas ini mewakili format data gzip, yang menggunakan algoritma standar industri untuk kompresi dan dekompresi file tanpa kehilangan. Format ini mencakup nilai pemeriksaan redundansi siklik untuk mendeteksi kerusakan data. Format data gzip menggunakan algoritma yang sama dengan kelas DeflateStream, tetapi dapat diperluas untuk menggunakan format kompresi lainnya. Format dapat dengan mudah diimplementasikan dengan cara yang tidak dicakup oleh paten.
Dimulai dengan .NET Framework 4.5, kelas DeflateStream menggunakan pustaka zlib untuk pemadatan. Akibatnya, ini memberikan algoritma kompresi yang lebih baik dan, dalam kebanyakan kasus, file terkompresi yang lebih kecil daripada yang disediakan dalam versi .NET Framework sebelumnya.
Objek GZipStream terkompresi yang ditulis ke file dengan ekstensi .gz dapat didekompresi menggunakan banyak alat kompresi umum; namun, kelas ini tidak secara inheren menyediakan fungsionalitas untuk menambahkan file ke atau mengekstrak file dari arsip zip.
Fungsionalitas kompresi di DeflateStream dan GZipStream diekspos sebagai aliran. Data dibaca berdasarkan byte-byte, sehingga tidak dimungkinkan untuk melakukan beberapa pass untuk menentukan metode terbaik untuk mengompresi seluruh file atau blok data besar. Kelas DeflateStream dan GZipStream paling baik digunakan pada sumber data yang tidak dikompresi. Jika data sumber sudah dikompresi, menggunakan kelas ini dapat benar-benar meningkatkan ukuran aliran.
Catatan Bagi Inheritor
Ketika Anda mewarisi dari GZipStream, Anda harus mengambil alih anggota berikut: CanSeek, CanWrite, dan CanRead.
Konstruktor
GZipStream(Stream, CompressionLevel, Boolean) |
Menginisialisasi instans baru kelas GZipStream dengan menggunakan tingkat aliran dan kompresi yang ditentukan, dan secara opsional membiarkan aliran terbuka. |
GZipStream(Stream, CompressionLevel) |
Menginisialisasi instans baru kelas GZipStream dengan menggunakan tingkat aliran dan kompresi yang ditentukan. |
GZipStream(Stream, CompressionMode, Boolean) |
Menginisialisasi instans baru kelas GZipStream dengan menggunakan mode aliran dan kompresi yang ditentukan, dan secara opsional membiarkan aliran terbuka. |
GZipStream(Stream, CompressionMode) |
Menginisialisasi instans baru kelas GZipStream dengan menggunakan mode aliran dan kompresi yang ditentukan. |
GZipStream(Stream, ZLibCompressionOptions, Boolean) |
Menginisialisasi instans baru kelas GZipStream dengan menggunakan aliran yang ditentukan, opsi pemadatan, dan secara opsional membiarkan aliran terbuka. |
Properti
BaseStream |
Mendapatkan referensi ke aliran yang mendasar. |
CanRead |
Mendapatkan nilai yang menunjukkan apakah aliran mendukung pembacaan saat mendekompresi file. |
CanSeek |
Mendapatkan nilai yang menunjukkan apakah aliran mendukung pencarian. |
CanTimeout |
Mendapatkan nilai yang menentukan apakah aliran saat ini dapat kehabisan waktu. (Diperoleh dari Stream) |
CanWrite |
Mendapatkan nilai yang menunjukkan apakah aliran mendukung penulisan. |
Length |
Properti ini tidak didukung dan selalu melemparkan NotSupportedException. |
Position |
Properti ini tidak didukung dan selalu melemparkan NotSupportedException. |
ReadTimeout |
Mendapatkan atau menetapkan nilai, dalam milidetik, yang menentukan berapa lama aliran akan mencoba membaca sebelum waktu habis. (Diperoleh dari Stream) |
WriteTimeout |
Mendapatkan atau menetapkan nilai, dalam milidetik, yang menentukan berapa lama aliran akan mencoba menulis sebelum waktu habis. (Diperoleh dari Stream) |
Metode
BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) |
Memulai operasi baca asinkron. (Pertimbangkan untuk menggunakan metode ReadAsync(Byte[], Int32, Int32) sebagai gantinya.) |
BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) |
Memulai operasi baca asinkron. (Pertimbangkan untuk menggunakan ReadAsync(Byte[], Int32, Int32) sebagai gantinya.) (Diperoleh dari Stream) |
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) |
Memulai operasi penulisan asinkron. (Pertimbangkan untuk menggunakan metode WriteAsync(Byte[], Int32, Int32) sebagai gantinya.) |
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) |
Memulai operasi penulisan asinkron. (Pertimbangkan untuk menggunakan WriteAsync(Byte[], Int32, Int32) sebagai gantinya.) (Diperoleh dari Stream) |
Close() |
Menutup aliran saat ini dan merilis sumber daya apa pun (seperti soket dan handel file) yang terkait dengan aliran saat ini. Alih-alih memanggil metode ini, pastikan aliran dibuang dengan benar. (Diperoleh dari Stream) |
CopyTo(Stream, Int32) |
Membaca byte dari aliran GZip saat ini dan menulisnya ke aliran lain, menggunakan ukuran buffer yang ditentukan. |
CopyTo(Stream, Int32) |
Membaca byte dari aliran saat ini dan menulisnya ke aliran lain, menggunakan ukuran buffer tertentu. Kedua posisi aliran dimajukan dengan jumlah byte yang disalin. (Diperoleh dari Stream) |
CopyTo(Stream) |
Membaca byte dari aliran saat ini dan menulisnya ke aliran lain. Kedua posisi aliran dimajukan dengan jumlah byte yang disalin. (Diperoleh dari Stream) |
CopyToAsync(Stream, CancellationToken) |
Secara asinkron membaca byte dari aliran saat ini dan menulisnya ke aliran lain, menggunakan token pembatalan tertentu. Kedua posisi aliran dimajukan dengan jumlah byte yang disalin. (Diperoleh dari Stream) |
CopyToAsync(Stream, Int32, CancellationToken) |
Secara asinkron membaca byte dari aliran GZip saat ini dan menulisnya ke aliran lain, menggunakan ukuran buffer tertentu. |
CopyToAsync(Stream, Int32, CancellationToken) |
Secara asinkron membaca byte dari aliran saat ini dan menulisnya ke aliran lain, menggunakan ukuran buffer dan token pembatalan yang ditentukan. Kedua posisi aliran dimajukan dengan jumlah byte yang disalin. (Diperoleh dari Stream) |
CopyToAsync(Stream, Int32) |
Secara asinkron membaca byte dari aliran saat ini dan menulisnya ke aliran lain, menggunakan ukuran buffer tertentu. Kedua posisi aliran dimajukan dengan jumlah byte yang disalin. (Diperoleh dari Stream) |
CopyToAsync(Stream) |
Secara asinkron membaca byte dari aliran saat ini dan menulisnya ke aliran lain. Kedua posisi aliran dimajukan dengan jumlah byte yang disalin. (Diperoleh dari Stream) |
CreateObjRef(Type) |
Membuat objek yang berisi semua informasi relevan yang diperlukan untuk menghasilkan proksi yang digunakan untuk berkomunikasi dengan objek jarak jauh. (Diperoleh dari MarshalByRefObject) |
CreateWaitHandle() |
Kedaluwarsa.
Kedaluwarsa.
Kedaluwarsa.
Mengalokasikan objek WaitHandle. (Diperoleh dari Stream) |
Dispose() |
Merilis semua sumber daya yang digunakan oleh Stream. (Diperoleh dari Stream) |
Dispose(Boolean) |
Merilis sumber daya yang tidak dikelola yang digunakan oleh GZipStream dan secara opsional merilis sumber daya terkelola. |
DisposeAsync() |
Secara asinkron merilis sumber daya yang tidak dikelola yang digunakan oleh GZipStream. |
DisposeAsync() |
Secara asinkron merilis sumber daya yang tidak dikelola yang digunakan oleh Stream. (Diperoleh dari Stream) |
EndRead(IAsyncResult) |
Menunggu pembacaan asinkron yang tertunda selesai. (Pertimbangkan untuk menggunakan metode ReadAsync(Byte[], Int32, Int32) sebagai gantinya.) |
EndRead(IAsyncResult) |
Menunggu pembacaan asinkron yang tertunda selesai. (Pertimbangkan untuk menggunakan ReadAsync(Byte[], Int32, Int32) sebagai gantinya.) (Diperoleh dari Stream) |
EndWrite(IAsyncResult) |
Menangani akhir operasi penulisan asinkron. (Pertimbangkan untuk menggunakan metode WriteAsync(Byte[], Int32, Int32) sebagai gantinya.) |
EndWrite(IAsyncResult) |
Mengakhiri operasi penulisan asinkron. (Pertimbangkan untuk menggunakan WriteAsync(Byte[], Int32, Int32) sebagai gantinya.) (Diperoleh dari Stream) |
Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
Flush() |
Bersihkan buffer internal. |
FlushAsync() |
Secara asinkron menghapus semua buffer untuk aliran ini dan menyebabkan data yang di-buffer ditulis ke perangkat yang mendasar. (Diperoleh dari Stream) |
FlushAsync(CancellationToken) |
Secara asinkron menghapus semua buffer untuk aliran GZip ini, menyebabkan data yang di-buffer ditulis ke perangkat yang mendasar, dan memantau permintaan pembatalan. |
FlushAsync(CancellationToken) |
Secara asinkron menghapus semua buffer untuk aliran ini, menyebabkan data yang di-buffer ditulis ke perangkat yang mendasar, dan memantau permintaan pembatalan. (Diperoleh dari Stream) |
GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
GetLifetimeService() |
Kedaluwarsa.
Mengambil objek layanan seumur hidup saat ini yang mengontrol kebijakan seumur hidup untuk instans ini. (Diperoleh dari MarshalByRefObject) |
GetType() |
Mendapatkan Type instans saat ini. (Diperoleh dari Object) |
InitializeLifetimeService() |
Kedaluwarsa.
Mendapatkan objek layanan seumur hidup untuk mengontrol kebijakan seumur hidup untuk instans ini. (Diperoleh dari MarshalByRefObject) |
MemberwiseClone() |
Membuat salinan dangkal dari Objectsaat ini. (Diperoleh dari Object) |
MemberwiseClone(Boolean) |
Membuat salinan dangkal objek MarshalByRefObject saat ini. (Diperoleh dari MarshalByRefObject) |
ObjectInvariant() |
Kedaluwarsa.
Menyediakan dukungan untuk Contract. (Diperoleh dari Stream) |
Read(Byte[], Int32, Int32) |
Membaca sejumlah byte yang didekompresi ke dalam array byte yang ditentukan. |
Read(Span<Byte>) |
Membaca urutan byte dari aliran GZip saat ini ke dalam rentang byte dan memajukan posisi dalam aliran GZip dengan jumlah byte yang dibaca. |
Read(Span<Byte>) |
Ketika ditimpa dalam kelas turunan, membaca urutan byte dari aliran saat ini dan memajukan posisi dalam aliran dengan jumlah byte yang dibaca. (Diperoleh dari Stream) |
ReadAsync(Byte[], Int32, Int32, CancellationToken) |
Secara asinkron membaca urutan byte dari aliran GZip saat ini ke dalam array byte, memajukan posisi dalam aliran GZip dengan jumlah byte yang dibaca, dan memantau permintaan pembatalan. |
ReadAsync(Byte[], Int32, Int32, CancellationToken) |
Secara asinkron membaca urutan byte dari aliran saat ini, memajukan posisi dalam aliran dengan jumlah byte yang dibaca, dan memantau permintaan pembatalan. (Diperoleh dari Stream) |
ReadAsync(Byte[], Int32, Int32) |
Secara asinkron membaca urutan byte dari aliran saat ini dan memajukan posisi dalam aliran dengan jumlah byte yang dibaca. (Diperoleh dari Stream) |
ReadAsync(Memory<Byte>, CancellationToken) |
Secara asinkron membaca urutan byte dari aliran GZip saat ini ke wilayah memori byte, memajukan posisi dalam aliran GZip dengan jumlah byte yang dibaca, dan memantau permintaan pembatalan. |
ReadAsync(Memory<Byte>, CancellationToken) |
Secara asinkron membaca urutan byte dari aliran saat ini, memajukan posisi dalam aliran dengan jumlah byte yang dibaca, dan memantau permintaan pembatalan. (Diperoleh dari Stream) |
ReadAtLeast(Span<Byte>, Int32, Boolean) |
Membaca setidaknya jumlah minimum byte dari aliran saat ini dan memajukan posisi dalam aliran dengan jumlah byte yang dibaca. (Diperoleh dari Stream) |
ReadAtLeastAsync(Memory<Byte>, Int32, Boolean, CancellationToken) |
Secara asinkron membaca setidaknya jumlah minimum byte dari aliran saat ini, memajukan posisi dalam aliran dengan jumlah byte yang dibaca, dan memantau permintaan pembatalan. (Diperoleh dari Stream) |
ReadByte() |
Membaca byte dari aliran GZip dan memajukan posisi dalam aliran dengan satu byte, atau mengembalikan -1 jika di akhir aliran GZip. |
ReadByte() |
Membaca byte dari aliran dan memajukan posisi dalam aliran dengan satu byte, atau mengembalikan -1 jika di akhir aliran. (Diperoleh dari Stream) |
ReadExactly(Byte[], Int32, Int32) |
Membaca |
ReadExactly(Span<Byte>) |
Membaca byte dari aliran saat ini dan memajukan posisi dalam aliran hingga |
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken) |
Membaca secara asinkron |
ReadExactlyAsync(Memory<Byte>, CancellationToken) |
Membaca byte secara asinkron dari aliran saat ini, memajukan posisi dalam aliran hingga |
Seek(Int64, SeekOrigin) |
Properti ini tidak didukung dan selalu melemparkan NotSupportedException. |
SetLength(Int64) |
Properti ini tidak didukung dan selalu melemparkan NotSupportedException. |
ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
Write(Byte[], Int32, Int32) |
Menulis byte terkompresi ke aliran GZip yang mendasar dari array byte yang ditentukan. |
Write(ReadOnlySpan<Byte>) |
Menulis urutan byte ke aliran GZip saat ini dari rentang byte baca-saja dan memajukan posisi saat ini dalam aliran GZip ini dengan jumlah byte yang ditulis. |
Write(ReadOnlySpan<Byte>) |
Ketika ditimpa dalam kelas turunan, menulis urutan byte ke aliran saat ini dan memajukan posisi saat ini dalam aliran ini dengan jumlah byte yang ditulis. (Diperoleh dari Stream) |
WriteAsync(Byte[], Int32, Int32, CancellationToken) |
Secara asinkron menulis byte terkompresi ke aliran GZip yang mendasar dari array byte yang ditentukan. |
WriteAsync(Byte[], Int32, Int32, CancellationToken) |
Secara asinkron menulis urutan byte ke aliran saat ini, memajukan posisi saat ini dalam aliran ini dengan jumlah byte yang ditulis, dan memantau permintaan pembatalan. (Diperoleh dari Stream) |
WriteAsync(Byte[], Int32, Int32) |
Secara asinkron menulis urutan byte ke aliran saat ini dan memajukan posisi saat ini dalam aliran ini dengan jumlah byte yang ditulis. (Diperoleh dari Stream) |
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) |
Secara asinkron menulis byte terkompresi ke aliran GZip yang mendasar dari wilayah memori byte baca-saja yang ditentukan. |
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) |
Secara asinkron menulis urutan byte ke aliran saat ini, memajukan posisi saat ini dalam aliran ini dengan jumlah byte yang ditulis, dan memantau permintaan pembatalan. (Diperoleh dari Stream) |
WriteByte(Byte) |
Menulis byte ke aliran GZip saat ini dan memajukan posisi saat ini dalam aliran GZip ini satu per satu. |
WriteByte(Byte) |
Menulis byte ke posisi saat ini dalam aliran dan memajukan posisi dalam aliran oleh satu byte. (Diperoleh dari Stream) |
Metode Ekstensi
CopyToAsync(Stream, PipeWriter, CancellationToken) |
Secara asinkron membaca byte dari Stream dan menulisnya ke PipeWriteryang ditentukan , menggunakan token pembatalan. |
AsInputStream(Stream) |
Mengonversi aliran terkelola di aplikasi .NET untuk Windows Store ke aliran input di Windows Runtime. |
AsOutputStream(Stream) |
Mengonversi aliran terkelola di aplikasi .NET untuk Windows Store ke aliran output di Windows Runtime. |
AsRandomAccessStream(Stream) |
Mengonversi aliran yang ditentukan ke aliran akses acak. |
ConfigureAwait(IAsyncDisposable, Boolean) |
Mengonfigurasi bagaimana menunggu tugas yang dikembalikan dari asinkron sekali pakai akan dilakukan. |
Berlaku untuk
Lihat juga
- Bacaan parsial dan nol-byte dalam DeflateStream, GZipStream, dan CryptoStream