Bagikan melalui


BufferedStream.Write Metode

Definisi

Overload

Write(ReadOnlySpan<Byte>)

Menulis urutan byte ke aliran buffer saat ini dan memajukan posisi saat ini dalam aliran yang di-buffer ini dengan jumlah byte yang ditulis.

Write(Byte[], Int32, Int32)

Menyalin byte ke aliran yang di-buffer dan memajukan posisi saat ini dalam aliran yang di-buffer dengan jumlah byte yang ditulis.

Write(ReadOnlySpan<Byte>)

Sumber:
BufferedStream.cs
Sumber:
BufferedStream.cs
Sumber:
BufferedStream.cs

Menulis urutan byte ke aliran buffer saat ini dan memajukan posisi saat ini dalam aliran yang di-buffer ini dengan jumlah byte yang ditulis.

public:
 override void Write(ReadOnlySpan<System::Byte> buffer);
public override void Write (ReadOnlySpan<byte> buffer);
override this.Write : ReadOnlySpan<byte> -> unit
Public Overrides Sub Write (buffer As ReadOnlySpan(Of Byte))

Parameter

buffer
ReadOnlySpan<Byte>

Wilayah memori. Metode ini menyalin konten wilayah ini ke aliran yang di-buffer saat ini.

Keterangan

CanWrite Gunakan properti untuk menentukan apakah instans saat ini mendukung penulisan. WriteAsync Gunakan metode untuk menulis secara asinkron ke aliran buffer saat ini.

Jika operasi tulis berhasil, posisi dalam aliran buffer dilanjutkan dengan jumlah byte yang ditulis. Jika pengecualian terjadi, posisi dalam aliran yang di-buffer tetap tidak berubah.

Berlaku untuk

Write(Byte[], Int32, Int32)

Sumber:
BufferedStream.cs
Sumber:
BufferedStream.cs
Sumber:
BufferedStream.cs

Menyalin byte ke aliran yang di-buffer dan memajukan posisi saat ini dalam aliran yang di-buffer dengan jumlah byte yang ditulis.

public:
 override void Write(cli::array <System::Byte> ^ array, int offset, int count);
public:
 override void Write(cli::array <System::Byte> ^ buffer, int offset, int count);
public override void Write (byte[] array, int offset, int count);
public override void Write (byte[] buffer, int offset, int count);
override this.Write : byte[] * int * int -> unit
override this.Write : byte[] * int * int -> unit
Public Overrides Sub Write (array As Byte(), offset As Integer, count As Integer)
Public Overrides Sub Write (buffer As Byte(), offset As Integer, count As Integer)

Parameter

arraybuffer
Byte[]

Array byte tempat menyalin count byte ke aliran buffer saat ini.

offset
Int32

Offset dalam buffer untuk mulai menyalin byte ke aliran buffer saat ini.

count
Int32

Jumlah byte yang akan ditulis ke aliran buffer saat ini.

Pengecualian

array Panjang minus offset kurang dari count.

arrayadalah null.

offset atau count negatif.

Aliran ditutup atau null.

Aliran tidak mendukung penulisan.

Metode dipanggil setelah aliran ditutup.

Contoh

Contoh kode ini adalah bagian dari contoh yang lebih besar yang disediakan untuk BufferedStream kelas .

// Send the data using the BufferedStream.
Console::WriteLine( "Sending data using BufferedStream." );
startTime = DateTime::Now;
for ( int i = 0; i < numberOfLoops; i++ )
{
   bufStream->Write( dataToSend, 0, dataToSend->Length );

}
bufStream->Flush();
bufferedTime = (DateTime::Now - startTime).TotalSeconds;
Console::WriteLine( "{0} bytes sent in {1} seconds.\n", (numberOfLoops * dataToSend->Length).ToString(), bufferedTime.ToString(  "F1" ) );
// Send the data using the BufferedStream.
Console.WriteLine("Sending data using BufferedStream.");
startTime = DateTime.Now;
for(int i = 0; i < numberOfLoops; i++)
{
    bufStream.Write(dataToSend, 0, dataToSend.Length);
}
bufStream.Flush();
bufferedTime = (DateTime.Now - startTime).TotalSeconds;
Console.WriteLine("{0} bytes sent in {1} seconds.\n",
    numberOfLoops * dataToSend.Length,
    bufferedTime.ToString("F1"));
// Send the data using the BufferedStream.
printfn "Sending data using BufferedStream."
let startTime = DateTime.Now
for _ = 0 to numberOfLoops - 1 do
    bufStream.Write(dataToSend, 0, dataToSend.Length)
bufStream.Flush()
let bufferedTime = (DateTime.Now - startTime).TotalSeconds
printfn $"{numberOfLoops * dataToSend.Length} bytes sent in {bufferedTime:F1} seconds.\n"
' Send the data using the BufferedStream.
Console.WriteLine("Sending data using BufferedStream.")
startTime = DateTime.Now
For i As Integer = 1 To numberOfLoops
    bufStream.Write(dataToSend, 0, dataToSend.Length)
Next i

bufStream.Flush()
bufferedTime = DateTime.Now.Subtract(startTime).TotalSeconds
Console.WriteLine("{0} bytes sent In {1} seconds." & vbCrLf, _
    numberOfLoops * dataToSend.Length, _
    bufferedTime.ToString("F1"))

Lihat juga

Berlaku untuk