Freigeben über


FileStream.Write Methode

Definition

Überlädt

Name Beschreibung
Write(ReadOnlySpan<Byte>)

Schreibt eine Abfolge von Bytes aus einer schreibgeschützten Spanne in den aktuellen Dateidatenstrom und wechselt die aktuelle Position innerhalb dieses Dateidatenstroms um die Anzahl der geschriebenen Bytes.

Write(Byte[], Int32, Int32)

Schreibt einen Byteblock in den Dateidatenstrom.

Write(ReadOnlySpan<Byte>)

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

Schreibt eine Abfolge von Bytes aus einer schreibgeschützten Spanne in den aktuellen Dateidatenstrom und wechselt die aktuelle Position innerhalb dieses Dateidatenstroms um die Anzahl der geschriebenen Bytes.

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 Speicherbereich. Diese Methode kopiert den Inhalt dieses Bereichs in den aktuellen Dateidatenstrom.

Ausnahmen

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

Hinweise

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

Wenn der Schreibvorgang erfolgreich ist, wechselt die Position innerhalb des Dateidatenstroms um die Anzahl der geschriebenen Bytes. 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
Quelle:
FileStream.cs
Quelle:
FileStream.cs

Schreibt einen Byteblock in den Dateidatenstrom.

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, der Daten enthält, die in den Datenstrom geschrieben werden sollen.

offset
Int32

Der nullbasierte Byte-Offset array , aus dem mit dem Kopieren von Bytes in den Datenstrom begonnen werden soll.

count
Int32

Die maximale Anzahl von Bytes, die geschrieben werden sollen.

Ausnahmen

array ist null.

offset und count einen ungültigen Bereich in array.

offset oder count ist negativ.

Ein E/A-Fehler ist aufgetreten.

- oder -

Ein anderer Thread hat möglicherweise zu einer unerwarteten Änderung der Position des Dateihandle des Betriebssystems geführt.

- oder -

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

Der Datenstrom wird geschlossen.

Die aktuelle Streaminstanz unterstützt das Schreiben nicht.

Beispiele

Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die Lock Methode bereitgestellt wird.

// 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 (der Pufferindex) an, an dem mit dem Kopieren begonnen werden soll, und der count Parameter gibt die Anzahl der Bytes an, die in den Datenstrom geschrieben werden. Wenn der Schreibvorgang erfolgreich ist, wird die aktuelle Position des Datenstroms um die Anzahl der geschriebenen Bytes erweitert. Wenn eine Ausnahme auftritt, ist die aktuelle Position des Datenstroms unverändert.

Hinweis

Verwenden Sie die CanWrite Eigenschaft, um zu bestimmen, ob die aktuelle Instanz das Schreiben unterstützt. Zusätzliche Informationen finden Sie unter CanWrite.

Unterbrechen Sie keinen Thread, der einen Schreibvorgang ausführt. Obwohl die Anwendung nach dem Entsperren des Threads möglicherweise erfolgreich ausgeführt wird, kann die Unterbrechung die Leistung und Zuverlässigkeit Ihrer Anwendung verringern.

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

Weitere Informationen

Gilt für: