FileStream.Write Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Przeciążenia
Write(ReadOnlySpan<Byte>) |
Zapisuje sekwencję bajtów z zakresu tylko do odczytu do bieżącego strumienia plików i rozwija bieżącą pozycję w tym strumieniu plików według liczby 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 rozwija bieżącą pozycję w tym strumieniu plików według liczby 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
Użyj właściwości , CanWrite aby określić, czy bieżące wystąpienie obsługuje pisanie. 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 przechodzi przez 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, z array
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 uchwytu 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 podanego 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 Write.
Parametr offset
daje przesunięcie bajtu w array
(indeks buforu), w którym ma rozpocząć kopiowanie, a count
parametr daje 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
Użyj właściwości , CanWrite aby określić, czy bieżące wystąpienie obsługuje pisanie. Aby uzyskać dodatkowe informacje, zobacz CanWrite.
Nie przerywaj wątku wykonującego operację zapisu. Mimo że aplikacja może działać pomyślnie po odblokowaniu wątku, przerwa w działaniu aplikacji 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ż
- We/wy plików i strumieni
- Instrukcje: odczytywanie tekstu z pliku
- Instrukcje: zapisywanie tekstu w pliku