FileStream.Write Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přetížení
Write(ReadOnlySpan<Byte>) |
Zapíše posloupnost bajtů z rozsahu jen pro čtení do aktuálního datového proudu souboru a posune aktuální pozici v tomto datovém proudu souboru o počet zapsaných bajtů. |
Write(Byte[], Int32, Int32) |
Zapíše blok bajtů do datového proudu souboru. |
Write(ReadOnlySpan<Byte>)
- Zdroj:
- FileStream.cs
- Zdroj:
- FileStream.cs
- Zdroj:
- FileStream.cs
Zapíše posloupnost bajtů z rozsahu jen pro čtení do aktuálního datového proudu souboru a posune aktuální pozici v tomto datovém proudu souboru o počet zapsaných bajtů.
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))
Parametry
- buffer
- ReadOnlySpan<Byte>
Oblast paměti. Tato metoda zkopíruje obsah této oblasti do aktuálního datového proudu souboru.
Výjimky
.NET 8 a novější verze: Základní kanál je zavřený nebo odpojený.
Poznámky
CanWrite Pomocí vlastnosti určete, jestli aktuální instance podporuje zápis. K asynchronnímu zápisu do aktuálního datového WriteAsync proudu použijte metodu .
Pokud je operace zápisu úspěšná, pozice v datovém proudu souboru se posune o počet zapsaných bajtů. Pokud dojde k výjimce, zůstane pozice v datovém proudu souboru beze změny.
Platí pro
Write(Byte[], Int32, Int32)
- Zdroj:
- FileStream.cs
- Zdroj:
- FileStream.cs
- Zdroj:
- FileStream.cs
Zapíše blok bajtů do datového proudu souboru.
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)
Parametry
- arraybuffer
- Byte[]
Vyrovnávací paměť obsahující data pro zápis do datového proudu.
- offset
- Int32
Posun bajtů array
založených na nule, ze kterého chcete začít kopírovat bajty do datového proudu.
- count
- Int32
Maximální počet bajtů k zápisu.
Výjimky
array
je null
.
offset
a count
popisují neplatnou oblast v array
souboru .
offset
nebo count
je negativní.
Došlo k vstupně-výstupní chybě.
-nebo-
Jiné vlákno mohlo způsobit neočekávanou změnu umístění popisovače souboru operačního systému.
-nebo-
.NET 8 a novější verze: Základní kanál je zavřený nebo odpojený.
Datový proud se zavře.
Aktuální instance streamu nepodporuje zápis.
Příklady
Tento příklad kódu je součástí většího příkladu pro metodu Lock .
// 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
Poznámky
Tato metoda přepíše Write.
Parametr offset
poskytuje posun bajtu v array
(index vyrovnávací paměti), při kterém se má začít kopírovat, a count
parametr udává počet bajtů, které budou zapsány do datového proudu. Pokud je operace zápisu úspěšná, aktuální pozice datového proudu se posune o počet zapsaných bajtů. Pokud dojde k výjimce, aktuální pozice datového proudu se nezmění.
Poznámka
CanWrite Pomocí vlastnosti určete, jestli aktuální instance podporuje zápis. Další informace najdete v tématu CanWrite.
Nepřerušujte vlákno, které provádí operaci zápisu. I když se může zdát, že aplikace po odblokování vlákna úspěšně běží, přerušení může snížit výkon a spolehlivost aplikace.
Seznam běžných operací se soubory a adresáři najdete v tématu Běžné vstupně-výstupní úlohy.