BufferedStream.Write Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Aşırı Yüklemeler
Write(ReadOnlySpan<Byte>) |
Geçerli arabelleğe alınan akışa bir bayt dizisi yazar ve bu arabelleğe alınan akıştaki geçerli konumu yazılan bayt sayısı kadar ilerletir. |
Write(Byte[], Int32, Int32) |
Baytları arabelleğe alınan akışa kopyalar ve arabelleğe alınan akış içindeki geçerli konumu yazılan bayt sayısına göre ilerler. |
Write(ReadOnlySpan<Byte>)
- Kaynak:
- BufferedStream.cs
- Kaynak:
- BufferedStream.cs
- Kaynak:
- BufferedStream.cs
Geçerli arabelleğe alınan akışa bir bayt dizisi yazar ve bu arabelleğe alınan akıştaki geçerli konumu yazılan bayt sayısı kadar ilerletir.
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))
Parametreler
- buffer
- ReadOnlySpan<Byte>
Bellek bölgesi. Bu yöntem, bu bölgenin içeriğini geçerli arabelleğe alınan akışa kopyalar.
Açıklamalar
CanWrite Geçerli örneğin yazmayı destekleyip desteklemediğini belirlemek için özelliğini kullanın. WriteAsync Geçerli arabelleğe alınan akışa zaman uyumsuz olarak yazmak için yöntemini kullanın.
Yazma işlemi başarılı olursa arabelleğe alınan akış içindeki konum yazılan bayt sayısına göre ilerler. Bir özel durum oluşursa arabelleğe alınan akış içindeki konum değişmeden kalır.
Şunlara uygulanır
Write(Byte[], Int32, Int32)
- Kaynak:
- BufferedStream.cs
- Kaynak:
- BufferedStream.cs
- Kaynak:
- BufferedStream.cs
Baytları arabelleğe alınan akışa kopyalar ve arabelleğe alınan akış içindeki geçerli konumu yazılan bayt sayısına göre ilerler.
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)
Parametreler
- arraybuffer
- Byte[]
Baytların geçerli arabelleğe alınan akışa kopyalandığı count
bayt dizisi.
- offset
- Int32
Geçerli arabelleğe alınan akışa bayt kopyalamaya başlanacak arabellekteki uzaklık.
- count
- Int32
Geçerli arabelleğe alınan akışa yazılacak bayt sayısı.
Özel durumlar
Eksi offset
uzunluğu değerinden array
count
küçük.
array
, null
değeridir.
offset
veya count
negatiftir.
Akış veya null
kapalıdır.
Akış yazmayı desteklemiyor.
Akış kapatıldıktan sonra yöntemler çağrıldı.
Örnekler
Bu kod örneği, sınıfı için BufferedStream sağlanan daha büyük bir örneğin parçasıdır.
// 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"))
Ayrıca bkz.
- CanWrite
- Read(Byte[], Int32, Int32)
- Dosya ve Stream G/Ç
- Nasıl yapılır: Dosyadan Metin Okuma
- Nasıl yapılır: Bir Dosyaya Metin Yazma