FileStream.Write Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ü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
- Datei- und Stream-E/A
- How to: Lesen von Text aus einer Datei
- How to: Schreiben von Text in eine Datei