Sdílet prostřednictvím


FileStream.Write Metoda

Definice

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 arraysouboru .

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.

Viz také

Platí pro