FileStream.Write Methode

Definition

Überlädt

Write(ReadOnlySpan<Byte>)

Schreibt eine Bytesequenz aus einer schreibgeschützten Spanne in den aktuellen Dateidatenstrom und setzt die aktuelle Position in diesem Dateidatenstrom um die Anzahl der geschriebenen Bytes nach vorn.

Write(Byte[], Int32, Int32)

Schreibt einen Block von Bytes in den Dateistream.

Write(ReadOnlySpan<Byte>)

Quelle:
FileStream.cs
Quelle:
FileStream.cs
Quelle:
FileStream.cs

Schreibt eine Bytesequenz aus einer schreibgeschützten Spanne in den aktuellen Dateidatenstrom und setzt die aktuelle Position in diesem Dateidatenstrom um die Anzahl der geschriebenen Bytes nach vorn.

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>

Ein Bereich im Arbeitsspeicher. Diese Methode kopiert den Inhalt dieses Bereichs in den aktuellen Dateidatenstrom.

Ausnahmen

.NET 8 und höhere Versionen: Die zugrunde liegende Pipe ist geschlossen oder getrennt.

Hinweise

Verwenden Sie die CanWrite -Eigenschaft, um zu bestimmen, ob die aktuelle instance das Schreiben unterstützt. Verwenden Sie die WriteAsync -Methode, um asynchron in den aktuellen Stream zu schreiben.

Wenn der Schreibvorgang erfolgreich ist, wird die Position innerhalb des Dateidatenstroms um die Anzahl der geschriebenen Bytes erweitert. Wenn eine Ausnahme auftritt, bleibt die Position innerhalb des Dateidatenstroms unverändert.

Gilt für:

Write(Byte[], Int32, Int32)

Quelle:
FileStream.cs
Quelle:
FileStream.cs
Quelle:
FileStream.cs

Schreibt einen Block von Bytes in den Dateistream.

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[]

Der Puffer mit den Daten, die in den Stream geschrieben werden sollen.

offset
Int32

Der nullbasierte Byteoffset im array, ab dem Bytes in den Stream kopiert werden.

count
Int32

Die maximale Anzahl der zu schreibenden Bytes.

Ausnahmen

array ist null.

offset und count bezeichnen einen ungültigen Bereich in array.

offset oder count ist ein negativer Wert.

E/A-Fehler

- oder -

Ein anderer Thread hat möglicherweise eine unerwartete Änderung der Position des Dateihandles des Betriebssystems verursacht.

Oder

.NET 8 und höhere Versionen: Die zugrunde liegende Pipe ist geschlossen oder getrennt.

Der Stream ist geschlossen.

Die aktuelle Streaminstanz unterstützt keine Schreibvorgänge.

Beispiele

Dieses Codebeispiel ist Teil eines größeren Beispiels für die Lock -Methode.

// Write the original file data.
if ( fileStream->Length == 0 )
{
   tempString = String::Concat( lastRecordText, recordNumber.ToString() );
   fileStream->Write( uniEncoding->GetBytes( tempString ), 0, uniEncoding->GetByteCount( tempString ) );
}
// Write the original file data.
if(fileStream.Length == 0)
{
    tempString =
        lastRecordText + recordNumber.ToString();
    fileStream.Write(uniEncoding.GetBytes(tempString),
        0, uniEncoding.GetByteCount(tempString));
}
// Write the original file data.
if fileStream.Length = 0 then
    let tempString = lastRecordText + string recordNumber
    fileStream.Write(uniEncoding.GetBytes tempString, 0, uniEncoding.GetByteCount tempString)
' Write the original file data.
If aFileStream.Length = 0 Then
    tempString = _
        lastRecordText + recordNumber.ToString()
    aFileStream.Write(uniEncoding.GetBytes(tempString), _
        0, uniEncoding.GetByteCount(tempString))
End If

Hinweise

Diese Methode überschreibt Write.

Der offset Parameter gibt den Offset des Byte in array (des Pufferindexes) an, an dem mit dem Kopieren begonnen werden soll, und der count Parameter gibt die Anzahl der Bytes an, die in den Stream geschrieben werden. Wenn der Schreibvorgang erfolgreich ist, wird die aktuelle Position des Datenstroms um die Anzahl der geschriebenen Bytes erweitert. Wenn eine Ausnahme auftritt, bleibt die aktuelle Position des Datenstroms unverändert.

Hinweis

Verwenden Sie die CanWrite -Eigenschaft, um zu bestimmen, ob die aktuelle instance das Schreiben unterstützt. Weitere Informationen finden Sie unter CanWrite.

Unterbrechen Sie keinen Thread, der einen Schreibvorgang ausführt. Obwohl die Anwendung nach dem Aufheben der Blockierung des Threads erfolgreich ausgeführt werden kann, kann die Unterbrechung die Leistung und Zuverlässigkeit Ihrer Anwendung beeinträchtigen.

Eine Liste der allgemeinen Datei- und Verzeichnisvorgänge finden Sie unter Allgemeine E/A-Aufgaben.

Weitere Informationen

Gilt für: