Partager via


FileStream.Write Méthode

Définition

Surcharges

Write(ReadOnlySpan<Byte>)

Écrit une séquence d’octets depuis une plage en lecture seule dans le flux de fichier actuel et avance la position actuelle dans ce flux de fichier du nombre d’octets écrits.

Write(Byte[], Int32, Int32)

Écrit un bloc d'octets dans le flux de fichier.

Write(ReadOnlySpan<Byte>)

Source:
FileStream.cs
Source:
FileStream.cs
Source:
FileStream.cs

Écrit une séquence d’octets depuis une plage en lecture seule dans le flux de fichier actuel et avance la position actuelle dans ce flux de fichier du nombre d’octets écrits.

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

Paramètres

buffer
ReadOnlySpan<Byte>

Région de la mémoire. Cette méthode copie le contenu de cette zone dans le flux de fichier actuel.

Exceptions

.NET 8 et versions ultérieures : le canal sous-jacent est fermé ou déconnecté.

Remarques

Utilisez la CanWrite propriété pour déterminer si le instance actuel prend en charge l’écriture. Utilisez la WriteAsync méthode pour écrire de manière asynchrone dans le flux actuel.

Si l’opération d’écriture réussit, la position dans le flux de fichier avance du nombre d’octets écrits. Si une exception se produit, la position dans le flux de fichiers reste inchangée.

S’applique à

Write(Byte[], Int32, Int32)

Source:
FileStream.cs
Source:
FileStream.cs
Source:
FileStream.cs

Écrit un bloc d'octets dans le flux de fichier.

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)

Paramètres

arraybuffer
Byte[]

Mémoire tampon qui contient les données à écrire dans le flux.

offset
Int32

Dans array, décalage d'octet de base zéro à partir duquel commencer la copie des octets dans le flux.

count
Int32

Nombre maximal d'octets à écrire.

Exceptions

array a la valeur null.

offset et count décrivent une plage non valide dans array.

offset ou count est un nombre négatif.

Une erreur d'E/S s'est produite.

- ou -

Un autre thread a peut-être provoqué une modification inattendue de la position du descripteur de fichier du système d’exploitation.

-ou-

.NET 8 et versions ultérieures : le canal sous-jacent est fermé ou déconnecté.

Le flux est fermé.

L’instance du flux actuel ne prend pas en charge l’écriture.

Exemples

Cet exemple de code fait partie d’un exemple plus grand fourni pour la Lock méthode .

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

Remarques

Cette méthode se substitue à Write.

Le offset paramètre donne le décalage de l’octet dans (l’index de la mémoire tampon) à partir duquel commencer la copie, et le count paramètre indique le nombre d’octets qui seront écrits dans array le flux. Si l’opération d’écriture réussit, la position actuelle du flux est avancée par le nombre d’octets écrits. Si une exception se produit, la position actuelle du flux est inchangée.

Notes

Utilisez la CanWrite propriété pour déterminer si le instance actuel prend en charge l’écriture. Pour plus d'informations, consultez CanWrite.

N’interrompez pas un thread qui effectue une opération d’écriture. Bien que l’application puisse sembler s’exécuter correctement après le déblocage du thread, l’interruption peut diminuer les performances et la fiabilité de votre application.

Pour obtenir la liste des opérations courantes de fichiers et de répertoires, consultez Tâches courantes d’E/S.

Voir aussi

S’applique à