FileStream.Write Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
- E/S de fichier et de flux
- Guide pratique pour lire du texte dans un fichier
- Guide pratique pour écrire du texte dans un fichier