FileStream.Write Metoda

Definicja

Przeciążenia

Write(ReadOnlySpan<Byte>)

Zapisuje sekwencję bajtów z zakresu tylko do odczytu do bieżącego strumienia plików i przechodzi bieżącą pozycję w tym strumieniu plików o liczbę zapisanych bajtów.

Write(Byte[], Int32, Int32)

Zapisuje blok bajtów do strumienia plików.

Write(ReadOnlySpan<Byte>)

Źródło:
FileStream.cs
Źródło:
FileStream.cs
Źródło:
FileStream.cs

Zapisuje sekwencję bajtów z zakresu tylko do odczytu do bieżącego strumienia plików i przechodzi bieżącą pozycję w tym strumieniu plików o liczbę zapisanych bajtów.

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>

Region pamięci. Ta metoda kopiuje zawartość tego regionu do bieżącego strumienia plików.

Wyjątki

.NET 8 i nowsze wersje: podstawowy potok jest zamknięty lub odłączony.

Uwagi

CanWrite Użyj właściwości , aby określić, czy bieżące wystąpienie obsługuje zapisywanie. WriteAsync Użyj metody , aby zapisać asynchronicznie do bieżącego strumienia.

Jeśli operacja zapisu zakończy się pomyślnie, pozycja w strumieniu plików jest zwiększana o liczbę zapisanych bajtów. Jeśli wystąpi wyjątek, pozycja w strumieniu plików pozostaje niezmieniona.

Dotyczy

Write(Byte[], Int32, Int32)

Źródło:
FileStream.cs
Źródło:
FileStream.cs
Źródło:
FileStream.cs

Zapisuje blok bajtów do strumienia plików.

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

Bufor zawierający dane do zapisu w strumieniu.

offset
Int32

Przesunięcie bajtów na podstawie zera, array z którego ma rozpocząć kopiowanie bajtów do strumienia.

count
Int32

Maksymalna liczba bajtów do zapisu.

Wyjątki

array to null.

offset i count opisz nieprawidłowy zakres w pliku array.

offset lub count jest ujemny.

Wystąpił błąd we/wy.

-lub-

Inny wątek mógł spowodować nieoczekiwaną zmianę pozycji dojścia pliku systemu operacyjnego.

-lub-

.NET 8 i nowsze wersje: podstawowy potok jest zamknięty lub odłączony.

Strumień jest zamknięty.

Bieżące wystąpienie strumienia nie obsługuje zapisu.

Przykłady

Ten przykład kodu jest częścią większego przykładu udostępnionego Lock dla metody .

// 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

Uwagi

Ta metoda zastępuje metodę Write.

Parametr offset daje przesunięcie bajtu w array (indeks buforu), w którym ma rozpocząć kopiowanie, a count parametr podaje liczbę bajtów, które zostaną zapisane w strumieniu. Jeśli operacja zapisu zakończy się pomyślnie, bieżąca pozycja strumienia jest zaawansowana przez liczbę zapisanych bajtów. Jeśli wystąpi wyjątek, bieżąca pozycja strumienia pozostaje niezmieniona.

Uwaga

CanWrite Użyj właściwości , aby określić, czy bieżące wystąpienie obsługuje zapisywanie. Aby uzyskać dodatkowe informacje, zobacz CanWrite.

Nie przerywaj wątku wykonującego operację zapisu. Mimo że aplikacja może wydawać się działać pomyślnie po odblokowaniu wątku, przerwa może zmniejszyć wydajność i niezawodność aplikacji.

Aby uzyskać listę typowych operacji dotyczących plików i katalogów, zobacz Typowe zadania we/wy.

Zobacz też

Dotyczy