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 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ż
- We/wy plików i strumieni
- Instrukcje: odczytywanie tekstu z pliku
- Instrukcje: zapisywanie tekstu w pliku
Dotyczy
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla