BinaryWriter.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.
Écrit une valeur dans le flux actuel.
Surcharges
| Nom | Description |
|---|---|
| Write(Byte[], Int32, Int32) |
Écrit une région d’un tableau d’octets dans le flux actuel. |
| Write(UInt64) |
Écrit un entier non signé de huit octets dans le flux actuel et avance la position du flux de huit octets. |
| Write(UInt32) |
Écrit un entier non signé de quatre octets dans le flux actuel et avance la position du flux de quatre octets. |
| Write(UInt16) |
Écrit un entier non signé à deux octets dans le flux actuel et avance la position du flux de deux octets. |
| Write(String) |
Écrit une chaîne préfixée en longueur dans ce flux dans l’encodage actuel du BinaryWriterflux et avance la position actuelle du flux conformément à l’encodage utilisé et aux caractères spécifiques écrits dans le flux. |
| Write(Single) |
Écrit une valeur à virgule flottante de quatre octets dans le flux actuel et avance la position du flux de quatre octets. |
| Write(SByte) |
Écrit un octet signé dans le flux actuel et avance la position du flux d’un octet. |
| Write(ReadOnlySpan<Char>) |
Écrit une étendue de caractères dans le flux actuel et avance la position actuelle du flux conformément |
| Write(ReadOnlySpan<Byte>) |
Écrit une étendue d’octets dans le flux actuel. |
| Write(Int64) |
Écrit un entier signé de huit octets dans le flux actuel et avance la position du flux de huit octets. |
| Write(Char) |
Écrit un caractère Unicode dans le flux actuel et avance la position actuelle du flux conformément aux |
| Write(Int16) |
Écrit un entier signé à deux octets dans le flux actuel et avance la position du flux de deux octets. |
| Write(Double) |
Écrit une valeur à virgule flottante de huit octets dans le flux actuel et avance la position du flux de huit octets. |
| Write(Decimal) |
Écrit une valeur décimale dans le flux actuel et avance la position du flux de seize octets. |
| Write(Char[]) |
Écrit un tableau de caractères dans le flux actuel et avance la position actuelle du flux conformément aux |
| Write(Char[], Int32, Int32) |
Écrit une section d’un tableau de caractères dans le flux actuel et avance la position actuelle du flux conformément |
| Write(Byte[]) |
Écrit un tableau d’octets dans le flux sous-jacent. |
| Write(Byte) |
Écrit un octet non signé dans le flux actuel et avance la position du flux d’un octet. |
| Write(Boolean) |
Écrit une valeur d’un octet |
| Write(Int32) |
Écrit un entier signé à quatre octets dans le flux actuel et avance la position du flux de quatre octets. |
Write(Byte[], Int32, Int32)
Écrit une région d’un tableau d’octets dans le flux actuel.
public:
virtual void Write(cli::array <System::Byte> ^ buffer, int index, int count);
public virtual void Write(byte[] buffer, int index, int count);
abstract member Write : byte[] * int * int -> unit
override this.Write : byte[] * int * int -> unit
Public Overridable Sub Write (buffer As Byte(), index As Integer, count As Integer)
Paramètres
- buffer
- Byte[]
Tableau d’octets contenant les données à écrire.
- index
- Int32
Index du premier octet à lire buffer et à écrire dans le flux.
- count
- Int32
Nombre d’octets à lire buffer et à écrire dans le flux.
Exceptions
La longueur de la mémoire tampon moins index est inférieure à count.
buffer a la valeur null.
index ou count est négatif.
Une erreur d’E/S se produit.
Le flux est fermé.
Exemples
L’exemple de code suivant montre comment écrire des données binaires à l’aide de la mémoire en tant que magasin de stockage, puis vérifier que les données ont été écrites correctement.
using System;
using System.IO;
namespace BinaryRW
{
class Program
{
static void Main(string[] args)
{
const int arrayLength = 1000;
byte[] dataArray = new byte[arrayLength];
byte[] verifyArray = new byte[arrayLength];
new Random().NextBytes(dataArray);
using (BinaryWriter binWriter = new BinaryWriter(new MemoryStream()))
{
Console.WriteLine("Writing the data.");
binWriter.Write(dataArray, 0, arrayLength);
using (BinaryReader binReader = new BinaryReader(binWriter.BaseStream))
{
binReader.BaseStream.Position = 0;
if (binReader.Read(verifyArray, 0, arrayLength) != arrayLength)
{
Console.WriteLine("Error writing the data.");
return;
}
}
}
for (int i = 0; i < arrayLength; i++)
{
if (verifyArray[i] != dataArray[i])
{
Console.WriteLine("Error writing the data.");
return;
}
}
Console.WriteLine("The data was written and verified.");
}
}
}
open System
open System.IO
let arrayLength = 1000
let dataArray = Array.zeroCreate<byte> arrayLength
let verifyArray = Array.zeroCreate<byte> arrayLength
Random().NextBytes dataArray
do
use binWriter = new BinaryWriter(new MemoryStream())
printfn "Writing the data."
binWriter.Write(dataArray, 0, arrayLength)
use binReader = new BinaryReader(binWriter.BaseStream)
binReader.BaseStream.Position <- 0
if binReader.Read(verifyArray, 0, arrayLength) <> arrayLength then
printfn "Error writing the data."
else
for i = 0 to arrayLength - 1 do
if verifyArray[i] <> dataArray[i] then
printfn "Error writing the data."
else
printfn "The data was written and verified."
Imports System.IO
Module Module1
Sub Main()
Const upperBound As Integer = 1000
Dim dataArray(upperBound) As Byte
Dim verifyArray(upperBound) As Byte
Dim randomGenerator As New Random
randomGenerator.NextBytes(dataArray)
Using binWriter As New BinaryWriter(New MemoryStream())
Console.WriteLine("Writing the data.")
binWriter.Write(dataArray, 0, dataArray.Length)
Using binReader As New BinaryReader(binWriter.BaseStream)
binReader.BaseStream.Position = 0
If binReader.Read(verifyArray, 0, dataArray.Length) <> dataArray.Length Then
Console.WriteLine("Error writing the data.")
Return
End If
End Using
End Using
For i As Integer = 0 To upperBound
If verifyArray(i) <> dataArray(i) Then
Console.WriteLine("Error writing the data.")
Return
End If
Next i
Console.WriteLine("The data was written and verified.")
End Sub
End Module
Remarques
Pour obtenir la liste des tâches d’E/S courantes, consultez Tâches d’E/S courantes.
Voir aussi
- E/S de fichier et de flux
- Guide pratique pour lire du texte à partir d’un fichier
- Guide pratique pour écrire du texte dans un fichier
S’applique à
Write(UInt64)
Important
Cette API n’est pas conforme CLS.
Écrit un entier non signé de huit octets dans le flux actuel et avance la position du flux de huit octets.
public:
virtual void Write(System::UInt64 value);
[System.CLSCompliant(false)]
public virtual void Write(ulong value);
[<System.CLSCompliant(false)>]
abstract member Write : uint64 -> unit
override this.Write : uint64 -> unit
Public Overridable Sub Write (value As ULong)
Paramètres
- value
- UInt64
Entier non signé de huit octets à écrire.
- Attributs
Exceptions
Une erreur d’E/S se produit.
Le flux est fermé.
Remarques
BinaryWriter stocke ce type de données au format petit endian.
Pour obtenir la liste des tâches d’E/S courantes, consultez Tâches d’E/S courantes.
Voir aussi
- E/S de fichier et de flux
- Guide pratique pour lire du texte à partir d’un fichier
- Guide pratique pour écrire du texte dans un fichier
S’applique à
Write(UInt32)
Important
Cette API n’est pas conforme CLS.
Écrit un entier non signé de quatre octets dans le flux actuel et avance la position du flux de quatre octets.
public:
virtual void Write(System::UInt32 value);
[System.CLSCompliant(false)]
public virtual void Write(uint value);
[<System.CLSCompliant(false)>]
abstract member Write : uint32 -> unit
override this.Write : uint32 -> unit
Public Overridable Sub Write (value As UInteger)
Paramètres
- value
- UInt32
Entier non signé de quatre octets à écrire.
- Attributs
Exceptions
Une erreur d’E/S se produit.
Le flux est fermé.
Remarques
BinaryWriter stocke ce type de données au format petit endian.
Pour obtenir la liste des tâches d’E/S courantes, consultez Tâches d’E/S courantes.
Voir aussi
- E/S de fichier et de flux
- Guide pratique pour lire du texte à partir d’un fichier
- Guide pratique pour écrire du texte dans un fichier
S’applique à
Write(UInt16)
Important
Cette API n’est pas conforme CLS.
Écrit un entier non signé à deux octets dans le flux actuel et avance la position du flux de deux octets.
public:
virtual void Write(System::UInt16 value);
[System.CLSCompliant(false)]
public virtual void Write(ushort value);
[<System.CLSCompliant(false)>]
abstract member Write : uint16 -> unit
override this.Write : uint16 -> unit
Public Overridable Sub Write (value As UShort)
Paramètres
- value
- UInt16
Entier non signé à deux octets à écrire.
- Attributs
Exceptions
Une erreur d’E/S se produit.
Le flux est fermé.
Remarques
BinaryWriter stocke ce type de données au format petit endian.
Pour obtenir la liste des tâches d’E/S courantes, consultez Tâches d’E/S courantes.
Voir aussi
- E/S de fichier et de flux
- Guide pratique pour lire du texte à partir d’un fichier
- Guide pratique pour écrire du texte dans un fichier
S’applique à
Write(String)
Écrit une chaîne préfixée en longueur dans ce flux dans l’encodage actuel du BinaryWriterflux et avance la position actuelle du flux conformément à l’encodage utilisé et aux caractères spécifiques écrits dans le flux.
public:
virtual void Write(System::String ^ value);
public virtual void Write(string value);
abstract member Write : string -> unit
override this.Write : string -> unit
Public Overridable Sub Write (value As String)
Paramètres
- value
- String
Valeur à écrire.
Exceptions
Une erreur d’E/S se produit.
value a la valeur null.
Le flux est fermé.
Exemples
L’exemple de code suivant montre comment stocker et récupérer les paramètres d’application dans un fichier.
using System;
using System.IO;
using System.Text;
class ConsoleApplication
{
const string fileName = "AppSettings.dat";
static void Main()
{
WriteDefaultValues();
DisplayValues();
}
public static void WriteDefaultValues()
{
using (var stream = File.Open(fileName, FileMode.Create))
{
using (var writer = new BinaryWriter(stream, Encoding.UTF8, false))
{
writer.Write(1.250F);
writer.Write(@"c:\Temp");
writer.Write(10);
writer.Write(true);
}
}
}
public static void DisplayValues()
{
float aspectRatio;
string tempDirectory;
int autoSaveTime;
bool showStatusBar;
if (File.Exists(fileName))
{
using (var stream = File.Open(fileName, FileMode.Open))
{
using (var reader = new BinaryReader(stream, Encoding.UTF8, false))
{
aspectRatio = reader.ReadSingle();
tempDirectory = reader.ReadString();
autoSaveTime = reader.ReadInt32();
showStatusBar = reader.ReadBoolean();
}
}
Console.WriteLine("Aspect ratio set to: " + aspectRatio);
Console.WriteLine("Temp directory is: " + tempDirectory);
Console.WriteLine("Auto save time set to: " + autoSaveTime);
Console.WriteLine("Show status bar: " + showStatusBar);
}
}
}
open System.IO
open System.Text
let fileName = "AppSettings.dat"
let writeDefaultValues () =
use stream = File.Open(fileName, FileMode.Create)
use writer = new BinaryWriter(stream, Encoding.UTF8, false)
writer.Write 1.250F
writer.Write @"c:\Temp"
writer.Write 10
writer.Write true
let displayValues () =
if File.Exists fileName then
use stream = File.Open(fileName, FileMode.Open)
use reader = new BinaryReader(stream, Encoding.UTF8, false)
let aspectRatio = reader.ReadSingle()
let tempDirectory = reader.ReadString()
let autoSaveTime = reader.ReadInt32()
let showStatusBar = reader.ReadBoolean()
printfn $"Aspect ratio set to: {aspectRatio}"
printfn $"Temp directory is: {tempDirectory}"
printfn $"Auto save time set to: {autoSaveTime}"
printfn $"Show status bar: {showStatusBar}"
writeDefaultValues ()
displayValues ()
Imports System.IO
Module Module1
Const fileName As String = "AppSettings.dat"
Sub Main()
WriteDefaultValues()
DisplayValues()
End Sub
Sub WriteDefaultValues()
Using writer As BinaryWriter = New BinaryWriter(File.Open(fileName, FileMode.Create))
writer.Write(1.25F)
writer.Write("c:\Temp")
writer.Write(10)
writer.Write(True)
End Using
End Sub
Sub DisplayValues()
Dim aspectRatio As Single
Dim tempDirectory As String
Dim autoSaveTime As Integer
Dim showStatusBar As Boolean
If (File.Exists(fileName)) Then
Using reader As BinaryReader = New BinaryReader(File.Open(fileName, FileMode.Open))
aspectRatio = reader.ReadSingle()
tempDirectory = reader.ReadString()
autoSaveTime = reader.ReadInt32()
showStatusBar = reader.ReadBoolean()
End Using
Console.WriteLine("Aspect ratio set to: " & aspectRatio)
Console.WriteLine("Temp directory is: " & tempDirectory)
Console.WriteLine("Auto save time set to: " & autoSaveTime)
Console.WriteLine("Show status bar: " & showStatusBar)
End If
End Sub
End Module
Remarques
Le préfixe longueur signifie que cette méthode écrit d’abord la longueur de la chaîne, en octets, lorsqu’elle est encodée avec l’encodage actuel de l’instance BinaryWriter dans le flux. Cette valeur est écrite en tant qu’entier non signé. Cette méthode écrit ensuite ce nombre d’octets dans le flux.
Par exemple, la chaîne « A » a une longueur de 1, mais lorsqu’elle est encodée avec UTF-16 ; la longueur est de 2 octets, de sorte que la valeur écrite dans le préfixe est 2, et 3 octets sont écrits dans le flux, y compris le préfixe.
Pour obtenir la liste des tâches d’E/S courantes, consultez Tâches d’E/S courantes.
Voir aussi
- Encoding
- E/S de fichier et de flux
- Guide pratique pour lire du texte à partir d’un fichier
- Guide pratique pour écrire du texte dans un fichier
S’applique à
Write(Single)
Écrit une valeur à virgule flottante de quatre octets dans le flux actuel et avance la position du flux de quatre octets.
public:
virtual void Write(float value);
public virtual void Write(float value);
abstract member Write : single -> unit
override this.Write : single -> unit
Public Overridable Sub Write (value As Single)
Paramètres
- value
- Single
Valeur à virgule flottante de quatre octets à écrire.
Exceptions
Une erreur d’E/S se produit.
Le flux est fermé.
Exemples
L’exemple de code suivant montre comment stocker et récupérer les paramètres d’application dans un fichier.
using System;
using System.IO;
using System.Text;
class ConsoleApplication
{
const string fileName = "AppSettings.dat";
static void Main()
{
WriteDefaultValues();
DisplayValues();
}
public static void WriteDefaultValues()
{
using (var stream = File.Open(fileName, FileMode.Create))
{
using (var writer = new BinaryWriter(stream, Encoding.UTF8, false))
{
writer.Write(1.250F);
writer.Write(@"c:\Temp");
writer.Write(10);
writer.Write(true);
}
}
}
public static void DisplayValues()
{
float aspectRatio;
string tempDirectory;
int autoSaveTime;
bool showStatusBar;
if (File.Exists(fileName))
{
using (var stream = File.Open(fileName, FileMode.Open))
{
using (var reader = new BinaryReader(stream, Encoding.UTF8, false))
{
aspectRatio = reader.ReadSingle();
tempDirectory = reader.ReadString();
autoSaveTime = reader.ReadInt32();
showStatusBar = reader.ReadBoolean();
}
}
Console.WriteLine("Aspect ratio set to: " + aspectRatio);
Console.WriteLine("Temp directory is: " + tempDirectory);
Console.WriteLine("Auto save time set to: " + autoSaveTime);
Console.WriteLine("Show status bar: " + showStatusBar);
}
}
}
open System.IO
open System.Text
let fileName = "AppSettings.dat"
let writeDefaultValues () =
use stream = File.Open(fileName, FileMode.Create)
use writer = new BinaryWriter(stream, Encoding.UTF8, false)
writer.Write 1.250F
writer.Write @"c:\Temp"
writer.Write 10
writer.Write true
let displayValues () =
if File.Exists fileName then
use stream = File.Open(fileName, FileMode.Open)
use reader = new BinaryReader(stream, Encoding.UTF8, false)
let aspectRatio = reader.ReadSingle()
let tempDirectory = reader.ReadString()
let autoSaveTime = reader.ReadInt32()
let showStatusBar = reader.ReadBoolean()
printfn $"Aspect ratio set to: {aspectRatio}"
printfn $"Temp directory is: {tempDirectory}"
printfn $"Auto save time set to: {autoSaveTime}"
printfn $"Show status bar: {showStatusBar}"
writeDefaultValues ()
displayValues ()
Imports System.IO
Module Module1
Const fileName As String = "AppSettings.dat"
Sub Main()
WriteDefaultValues()
DisplayValues()
End Sub
Sub WriteDefaultValues()
Using writer As BinaryWriter = New BinaryWriter(File.Open(fileName, FileMode.Create))
writer.Write(1.25F)
writer.Write("c:\Temp")
writer.Write(10)
writer.Write(True)
End Using
End Sub
Sub DisplayValues()
Dim aspectRatio As Single
Dim tempDirectory As String
Dim autoSaveTime As Integer
Dim showStatusBar As Boolean
If (File.Exists(fileName)) Then
Using reader As BinaryReader = New BinaryReader(File.Open(fileName, FileMode.Open))
aspectRatio = reader.ReadSingle()
tempDirectory = reader.ReadString()
autoSaveTime = reader.ReadInt32()
showStatusBar = reader.ReadBoolean()
End Using
Console.WriteLine("Aspect ratio set to: " & aspectRatio)
Console.WriteLine("Temp directory is: " & tempDirectory)
Console.WriteLine("Auto save time set to: " & autoSaveTime)
Console.WriteLine("Show status bar: " & showStatusBar)
End If
End Sub
End Module
Remarques
BinaryWriter stocke ce type de données au format petit endian.
Pour obtenir la liste des tâches d’E/S courantes, consultez Tâches d’E/S courantes.
Voir aussi
- E/S de fichier et de flux
- Guide pratique pour lire du texte à partir d’un fichier
- Guide pratique pour écrire du texte dans un fichier
S’applique à
Write(SByte)
Important
Cette API n’est pas conforme CLS.
Écrit un octet signé dans le flux actuel et avance la position du flux d’un octet.
public:
virtual void Write(System::SByte value);
[System.CLSCompliant(false)]
public virtual void Write(sbyte value);
[<System.CLSCompliant(false)>]
abstract member Write : sbyte -> unit
override this.Write : sbyte -> unit
Public Overridable Sub Write (value As SByte)
Paramètres
- value
- SByte
Octet signé à écrire.
- Attributs
Exceptions
Une erreur d’E/S se produit.
Le flux est fermé.
Remarques
Pour obtenir la liste des tâches d’E/S courantes, consultez Tâches d’E/S courantes.
Voir aussi
- E/S de fichier et de flux
- Guide pratique pour lire du texte à partir d’un fichier
- Guide pratique pour écrire du texte dans un fichier
S’applique à
Write(ReadOnlySpan<Char>)
Écrit une étendue de caractères dans le flux actuel et avance la position actuelle du flux conformément Encoding aux caractères utilisés et peut-être aux caractères spécifiques écrits dans le flux.
public:
virtual void Write(ReadOnlySpan<char> chars);
public virtual void Write(ReadOnlySpan<char> chars);
abstract member Write : ReadOnlySpan<char> -> unit
override this.Write : ReadOnlySpan<char> -> unit
Public Overridable Sub Write (chars As ReadOnlySpan(Of Char))
Paramètres
- chars
- ReadOnlySpan<Char>
Étendue de caractères à écrire.
S’applique à
Write(ReadOnlySpan<Byte>)
Écrit une étendue d’octets dans le flux actuel.
public:
virtual void Write(ReadOnlySpan<System::Byte> buffer);
public virtual void Write(ReadOnlySpan<byte> buffer);
abstract member Write : ReadOnlySpan<byte> -> unit
override this.Write : ReadOnlySpan<byte> -> unit
Public Overridable Sub Write (buffer As ReadOnlySpan(Of Byte))
Paramètres
- buffer
- ReadOnlySpan<Byte>
Étendue d’octets à écrire.
S’applique à
Write(Int64)
Écrit un entier signé de huit octets dans le flux actuel et avance la position du flux de huit octets.
public:
virtual void Write(long value);
public virtual void Write(long value);
abstract member Write : int64 -> unit
override this.Write : int64 -> unit
Public Overridable Sub Write (value As Long)
Paramètres
- value
- Int64
Entier signé de huit octets à écrire.
Exceptions
Une erreur d’E/S se produit.
Le flux est fermé.
Remarques
BinaryWriter stocke ce type de données au format petit endian.
Pour obtenir la liste des tâches d’E/S courantes, consultez Tâches d’E/S courantes.
Voir aussi
- E/S de fichier et de flux
- Guide pratique pour lire du texte à partir d’un fichier
- Guide pratique pour écrire du texte dans un fichier
S’applique à
Write(Char)
Écrit un caractère Unicode dans le flux actuel et avance la position actuelle du flux conformément aux Encoding caractères utilisés et spécifiques écrits dans le flux.
public:
virtual void Write(char ch);
public virtual void Write(char ch);
abstract member Write : char -> unit
override this.Write : char -> unit
Public Overridable Sub Write (ch As Char)
Paramètres
- ch
- Char
Caractère Unicode non substitué à écrire.
Exceptions
Une erreur d’E/S se produit.
Le flux est fermé.
ch est un caractère de substitution unique.
Exemples
L’exemple de code suivant montre comment lire et écrire des données à l’aide de la mémoire en tant que magasin de stockage.
using System;
using System.IO;
class BinaryRW
{
static void Main()
{
int i = 0;
char[] invalidPathChars = Path.InvalidPathChars;
MemoryStream memStream = new MemoryStream();
BinaryWriter binWriter = new BinaryWriter(memStream);
// Write to memory.
binWriter.Write("Invalid file path characters are: ");
for(i = 0; i < invalidPathChars.Length; i++)
{
binWriter.Write(invalidPathChars[i]);
}
// Create the reader using the same MemoryStream
// as used with the writer.
BinaryReader binReader = new BinaryReader(memStream);
// Set Position to the beginning of the stream.
memStream.Position = 0;
// Read the data from memory and write it to the console.
Console.Write(binReader.ReadString());
char[] memoryData =
new char[memStream.Length - memStream.Position];
for(i = 0; i < memoryData.Length; i++)
{
memoryData[i] = binReader.ReadChar();
}
Console.WriteLine(memoryData);
}
}
open System.IO
let invalidPathChars = Path.GetInvalidPathChars()
let memStream = new MemoryStream()
let binWriter = new BinaryWriter(memStream)
// Write to memory.
binWriter.Write "Invalid file path characters are: "
for i = 0 to invalidPathChars.Length - 1 do
binWriter.Write invalidPathChars[i]
// Create the reader using the same MemoryStream
// as used with the writer.
let binReader = new BinaryReader(memStream)
// Set Position to the beginning of the stream.
memStream.Position <- 0
// Read the data from memory and write it to the console.
printf $"{binReader.ReadString()}"
let memoryData = Array.zeroCreate<char> (int (memStream.Length - memStream.Position))
for i = 0 to memoryData.Length - 1 do
memoryData[i] <- binReader.ReadChar()
printfn $"{memoryData}"
Imports System.IO
Public Class BinaryRW
Shared Sub Main()
Dim i As Integer = 0
Dim invalidPathChars() As Char = Path.InvalidPathChars
Dim memStream As new MemoryStream()
Dim binWriter As New BinaryWriter(memStream)
' Write to memory.
binWriter.Write("Invalid file path characters are: ")
For i = 0 To invalidPathChars.Length - 1
binWriter.Write(invalidPathChars(i))
Next i
' Create the reader using the same MemoryStream
' as used with the writer.
Dim binReader As New BinaryReader(memStream)
' Set Position to the beginning of the stream.
memStream.Position = 0
' Read the data from memory and write it to the console.
Console.Write(binReader.ReadString())
Dim memoryData( _
CInt(memStream.Length - memStream.Position) - 1) As Char
For i = 0 To memoryData.Length - 1
memoryData(i) = binReader.ReadChar()
Next i
Console.WriteLine(memoryData)
End Sub
End Class
Remarques
En raison des conflits de mise en forme des données, l’utilisation de cette méthode avec les encodages suivants n’est pas recommandée :
UTF-7
ISO-2022-JP
ISCII
Pour obtenir la liste des tâches d’E/S courantes, consultez Tâches d’E/S courantes.
Les caractères de substitution Unicode doivent être écrits en tant que paires dans le même appel, et non individuellement. Si vous avez besoin de la prise en charge des paires de substitution dans votre application, envisagez d’utiliser un tableau de caractères et la surcharge de Write méthode.
Voir aussi
- Encoding
- E/S de fichier et de flux
- Guide pratique pour lire du texte à partir d’un fichier
- Guide pratique pour écrire du texte dans un fichier
S’applique à
Write(Int16)
Écrit un entier signé à deux octets dans le flux actuel et avance la position du flux de deux octets.
public:
virtual void Write(short value);
public virtual void Write(short value);
abstract member Write : int16 -> unit
override this.Write : int16 -> unit
Public Overridable Sub Write (value As Short)
Paramètres
- value
- Int16
Entier signé à deux octets à écrire.
Exceptions
Une erreur d’E/S se produit.
Le flux est fermé.
Remarques
BinaryWriter stocke ce type de données au format petit endian.
Le tableau suivant répertorie des exemples d’autres tâches d’E/S classiques ou connexes.
| Pour ce faire... | Consultez l’exemple de cette rubrique... |
|---|---|
| Créez un fichier texte. | Guide pratique pour écrire du texte dans un fichier |
| Écrire dans un fichier texte. | Guide pratique pour écrire du texte dans un fichier |
| Lire à partir d’un fichier texte. | Guide pratique pour lire du texte à partir d’un fichier |
| Ajoutez du texte à un fichier. |
Guide pratique pour ouvrir et ajouter à un fichier journal File.AppendText FileInfo.AppendText |
| Obtenez la taille d’un fichier. | FileInfo.Length |
| Obtenir les attributs d’un fichier. | File.GetAttributes |
| Définissez les attributs d’un fichier. | File.SetAttributes |
| Déterminez si un fichier existe. | File.Exists |
| Lire à partir d’un fichier binaire. | Guide pratique pour lire et écrire dans un fichier de données nouvellement créé |
| Écrivez dans un fichier binaire. | Guide pratique pour lire et écrire dans un fichier de données nouvellement créé |
Voir aussi
- E/S de fichier et de flux
- Guide pratique pour lire du texte à partir d’un fichier
- Guide pratique pour écrire du texte dans un fichier
S’applique à
Write(Double)
Écrit une valeur à virgule flottante de huit octets dans le flux actuel et avance la position du flux de huit octets.
public:
virtual void Write(double value);
public virtual void Write(double value);
abstract member Write : double -> unit
override this.Write : double -> unit
Public Overridable Sub Write (value As Double)
Paramètres
- value
- Double
Valeur à virgule flottante de huit octets à écrire.
Exceptions
Une erreur d’E/S se produit.
Le flux est fermé.
Exemples
L’exemple de code suivant montre comment lire et écrire Double des données en mémoire à l’aide des classes et BinaryWriter des BinaryReader classes de la MemoryStream classe.
MemoryStream lit et écrit Byte uniquement des données.
using System;
using System.IO;
class BinaryRW
{
static void Main()
{
int i;
const int arrayLength = 1000;
// Create random data to write to the stream.
Random randomGenerator = new Random();
double[] dataArray = new double[arrayLength];
for(i = 0; i < arrayLength; i++)
{
dataArray[i] = 100.1 * randomGenerator.NextDouble();
}
using(BinaryWriter binWriter =
new BinaryWriter(new MemoryStream()))
{
// Write the data to the stream.
Console.WriteLine("Writing data to the stream.");
for(i = 0; i < arrayLength; i++)
{
binWriter.Write(dataArray[i]);
}
// Create a reader using the stream from the writer.
using(BinaryReader binReader =
new BinaryReader(binWriter.BaseStream))
{
try
{
// Return to the beginning of the stream.
binReader.BaseStream.Position = 0;
// Read and verify the data.
Console.WriteLine("Verifying the written data.");
for(i = 0; i < arrayLength; i++)
{
if(binReader.ReadDouble() != dataArray[i])
{
Console.WriteLine("Error writing data.");
break;
}
}
Console.WriteLine("The data was written " +
"and verified.");
}
catch(EndOfStreamException e)
{
Console.WriteLine("Error writing data: {0}.",
e.GetType().Name);
}
}
}
}
}
open System
open System.IO
let arrayLength = 1000
// Create random data to write to the stream.
let randomGenerator = Random()
let dataArray =
Array.init arrayLength (fun _ -> 100.1 * randomGenerator.NextDouble())
do
use binWriter = new BinaryWriter(new MemoryStream())
// Write the data to the stream.
printfn $"Writing data to the stream."
for num in dataArray do
binWriter.Write num
// Create a reader using the stream from the writer.
use binReader = new BinaryReader(binWriter.BaseStream)
try
// Return to the beginning of the stream.
binReader.BaseStream.Position <- 0
// Read and verify the data.
printfn "Verifying the written data."
for num in dataArray do
if binReader.ReadDouble() <> num then
printfn "Error writing data."
printfn "The data was written and verified."
with :? EndOfStreamException as e ->
printfn $"Error writing data: {e.GetType().Name}."
Imports System.IO
Public Class BinaryRW
Shared Sub Main()
Dim i As Integer
Const upperBound As Integer = 1000
' Create random data to write to the stream.
Dim dataArray(upperBound) As Double
Dim randomGenerator As New Random()
For i = 0 To upperBound
dataArray(i) = 100.1 * randomGenerator.NextDouble()
Next i
Dim binWriter As New BinaryWriter(New MemoryStream())
Try
' Write data to the stream.
Console.WriteLine("Writing data to the stream.")
For i = 0 To upperBound
binWriter.Write(dataArray(i))
Next i
' Create a reader using the stream from the writer.
Dim binReader As New BinaryReader(binWriter.BaseStream)
' Return to the beginning of the stream.
binReader.BaseStream.Position = 0
' Read and verify the data.
Try
Console.WriteLine("Verifying the written data.")
For i = 0 To upperBound
If binReader.ReadDouble() <> dataArray(i) Then
Console.WriteLine("Error writing data.")
Exit For
End If
Next i
Console.WriteLine("The data was written and verified.")
Catch ex As EndOfStreamException
Console.WriteLine("Error writing data: {0}.", _
ex.GetType().Name)
End Try
Finally
binWriter.Close()
End Try
End Sub
End Class
Remarques
Pour obtenir la liste des tâches d’E/S courantes, consultez Tâches d’E/S courantes.
Voir aussi
- E/S de fichier et de flux
- Guide pratique pour lire du texte à partir d’un fichier
- Guide pratique pour écrire du texte dans un fichier
S’applique à
Write(Decimal)
Écrit une valeur décimale dans le flux actuel et avance la position du flux de seize octets.
public:
virtual void Write(System::Decimal value);
public virtual void Write(decimal value);
abstract member Write : decimal -> unit
override this.Write : decimal -> unit
Public Overridable Sub Write (value As Decimal)
Paramètres
- value
- Decimal
Valeur décimale à écrire.
Exceptions
Une erreur d’E/S se produit.
Le flux est fermé.
Remarques
Le tableau suivant répertorie des exemples d’autres tâches d’E/S classiques ou connexes.
| Pour ce faire... | Consultez l’exemple de cette rubrique... |
|---|---|
| Créez un fichier texte. | Guide pratique pour écrire du texte dans un fichier |
| Écrire dans un fichier texte. | Guide pratique pour écrire du texte dans un fichier |
| Lire à partir d’un fichier texte. | Guide pratique pour lire du texte à partir d’un fichier |
| Ajoutez du texte à un fichier. |
Guide pratique pour ouvrir et ajouter à un fichier journal File.AppendText FileInfo.AppendText |
| Obtenez la taille d’un fichier. | FileInfo.Length |
| Obtenir les attributs d’un fichier. | File.GetAttributes |
| Définissez les attributs d’un fichier. | File.SetAttributes |
| Déterminez si un fichier existe. | File.Exists |
| Lire à partir d’un fichier binaire. | Guide pratique pour lire et écrire dans un fichier de données nouvellement créé |
| Écrivez dans un fichier binaire. | Guide pratique pour lire et écrire dans un fichier de données nouvellement créé |
Voir aussi
- E/S de fichier et de flux
- Guide pratique pour lire du texte à partir d’un fichier
- Guide pratique pour écrire du texte dans un fichier
S’applique à
Write(Char[])
Écrit un tableau de caractères dans le flux actuel et avance la position actuelle du flux conformément aux Encoding caractères utilisés et spécifiques écrits dans le flux.
public:
virtual void Write(cli::array <char> ^ chars);
public virtual void Write(char[] chars);
abstract member Write : char[] -> unit
override this.Write : char[] -> unit
Public Overridable Sub Write (chars As Char())
Paramètres
- chars
- Char[]
Tableau de caractères contenant les données à écrire.
Exceptions
chars a la valeur null.
Le flux est fermé.
Une erreur d’E/S se produit.
Exemples
L’exemple de code suivant montre comment lire et écrire des données à l’aide de la mémoire en tant que magasin de stockage.
using System;
using System.IO;
class BinaryRW
{
static void Main()
{
char[] invalidPathChars = Path.InvalidPathChars;
MemoryStream memStream = new MemoryStream();
BinaryWriter binWriter = new BinaryWriter(memStream);
// Write to memory.
binWriter.Write("Invalid file path characters are: ");
binWriter.Write(Path.InvalidPathChars);
// Create the reader using the same MemoryStream
// as used with the writer.
BinaryReader binReader = new BinaryReader(memStream);
// Set Position to the beginning of the stream.
memStream.Position = 0;
// Read the data from memory and write it to the console.
Console.Write(binReader.ReadString());
Console.WriteLine(binReader.ReadChars(
(int)(memStream.Length - memStream.Position)));
}
}
open System.IO
let invalidPathChars = Path.GetInvalidPathChars()
let memStream = new MemoryStream()
let binWriter = new BinaryWriter(memStream)
// Write to memory.
binWriter.Write "Invalid file path characters are: "
binWriter.Write invalidPathChars
// Create the reader using the same MemoryStream
// as used with the writer.
let binReader = new BinaryReader(memStream)
// Set Position to the beginning of the stream.
memStream.Position <- 0
// Read the data from memory and write it to the console.
printf $"{binReader.ReadString()}"
printfn $"{binReader.ReadChars(int (memStream.Length - memStream.Position))}"
Imports System.IO
Public Class BinaryRW
Shared Sub Main()
Dim invalidPathChars() As Char = Path.InvalidPathChars
Dim memStream As new MemoryStream()
Dim binWriter As New BinaryWriter(memStream)
' Write to memory.
binWriter.Write("Invalid file path characters are: ")
binWriter.Write(Path.InvalidPathChars)
' Create the reader using the same MemoryStream
' as used with the writer.
Dim binReader As New BinaryReader(memStream)
' Set Position to the beginning of the stream.
memStream.Position = 0
' Read the data from memory and write it to the console.
Console.Write(binReader.ReadString())
Console.WriteLine(binReader.ReadChars( _
CInt(memStream.Length - memStream.Position)))
End Sub
End Class
Remarques
Le tableau suivant répertorie des exemples d’autres tâches d’E/S classiques ou connexes.
| Pour ce faire... | Consultez l’exemple de cette rubrique... |
|---|---|
| Créez un fichier texte. | Guide pratique pour écrire du texte dans un fichier |
| Écrire dans un fichier texte. | Guide pratique pour écrire du texte dans un fichier |
| Lire à partir d’un fichier texte. | Guide pratique pour lire du texte à partir d’un fichier |
| Ajoutez du texte à un fichier. |
Guide pratique pour ouvrir et ajouter à un fichier journal File.AppendText FileInfo.AppendText |
| Obtenez la taille d’un fichier. | FileInfo.Length |
| Obtenir les attributs d’un fichier. | File.GetAttributes |
| Définissez les attributs d’un fichier. | File.SetAttributes |
| Déterminez si un fichier existe. | File.Exists |
| Lire à partir d’un fichier binaire. | Guide pratique pour lire et écrire dans un fichier de données nouvellement créé |
| Écrivez dans un fichier binaire. | Guide pratique pour lire et écrire dans un fichier de données nouvellement créé |
Voir aussi
- Encoding
- E/S de fichier et de flux
- Guide pratique pour lire du texte à partir d’un fichier
- Guide pratique pour écrire du texte dans un fichier
S’applique à
Write(Char[], Int32, Int32)
Écrit une section d’un tableau de caractères dans le flux actuel et avance la position actuelle du flux conformément Encoding aux caractères utilisés et peut-être aux caractères spécifiques écrits dans le flux.
public:
virtual void Write(cli::array <char> ^ chars, int index, int count);
public virtual void Write(char[] chars, int index, int count);
abstract member Write : char[] * int * int -> unit
override this.Write : char[] * int * int -> unit
Public Overridable Sub Write (chars As Char(), index As Integer, count As Integer)
Paramètres
- chars
- Char[]
Tableau de caractères contenant les données à écrire.
- index
- Int32
Index du premier caractère à lire chars et à écrire dans le flux.
- count
- Int32
Nombre de caractères à lire chars et à écrire dans le flux.
Exceptions
La longueur de la mémoire tampon moins index est inférieure à count.
chars a la valeur null.
index ou count est négatif.
Une erreur d’E/S se produit.
Le flux est fermé.
Exemples
L’exemple de code suivant montre comment lire et écrire des données à l’aide de la mémoire en tant que magasin de stockage.
using System;
using System.IO;
class BinaryRW
{
static void Main()
{
char[] invalidPathChars = Path.InvalidPathChars;
MemoryStream memStream = new MemoryStream();
BinaryWriter binWriter = new BinaryWriter(memStream);
// Write to memory.
binWriter.Write("Invalid file path characters are: ");
binWriter.Write(
Path.InvalidPathChars, 0, Path.InvalidPathChars.Length);
// Create the reader using the same MemoryStream
// as used with the writer.
BinaryReader binReader = new BinaryReader(memStream);
// Set Position to the beginning of the stream.
memStream.Position = 0;
// Read the data from memory and write it to the console.
Console.Write(binReader.ReadString());
int arraySize = (int)(memStream.Length - memStream.Position);
char[] memoryData = new char[arraySize];
binReader.Read(memoryData, 0, arraySize);
Console.WriteLine(memoryData);
}
}
open System.IO
let invalidPathChars = Path.GetInvalidPathChars()
let memStream = new MemoryStream()
let binWriter = new BinaryWriter(memStream)
// Write to memory.
binWriter.Write "Invalid file path characters are: "
binWriter.Write(invalidPathChars, 0, invalidPathChars.Length)
// Create the reader using the same MemoryStream
// as used with the writer.
let binReader = new BinaryReader(memStream)
// Set Position to the beginning of the stream.
memStream.Position <- 0
// Read the data from memory and write it to the console.
printf $"{binReader.ReadString()}"
let arraySize = memStream.Length - memStream.Position |> int
let memoryData = Array.zeroCreate<char> arraySize
binReader.Read(memoryData, 0, arraySize) |> ignore
printfn $"{memoryData}"
Imports System.IO
Public Class BinaryRW
Shared Sub Main()
Dim invalidPathChars() As Char = Path.InvalidPathChars
Dim memStream As new MemoryStream()
Dim binWriter As New BinaryWriter(memStream)
' Write to memory.
binWriter.Write("Invalid file path characters are: ")
binWriter.Write(Path.InvalidPathChars, 0, _
Path.InvalidPathChars.Length)
' Create the reader using the same MemoryStream
' as used with the writer.
Dim binReader As New BinaryReader(memStream)
' Set Position to the beginning of the stream.
memStream.Position = 0
' Read the data from memory and write it to the console.
Console.Write(binReader.ReadString())
Dim upperBound As Integer = _
CInt(memStream.Length - memStream.Position) - 1
Dim memoryData(upperBound) As Char
binReader.Read(memoryData, 0, upperBound)
Console.WriteLine(memoryData)
End Sub
End Class
Remarques
Pour obtenir la liste des tâches d’E/S courantes, consultez Tâches d’E/S courantes.
Voir aussi
- Encoding
- E/S de fichier et de flux
- Guide pratique pour lire du texte à partir d’un fichier
- Guide pratique pour écrire du texte dans un fichier
S’applique à
Write(Byte[])
Écrit un tableau d’octets dans le flux sous-jacent.
public:
virtual void Write(cli::array <System::Byte> ^ buffer);
public virtual void Write(byte[] buffer);
abstract member Write : byte[] -> unit
override this.Write : byte[] -> unit
Public Overridable Sub Write (buffer As Byte())
Paramètres
- buffer
- Byte[]
Tableau d’octets contenant les données à écrire.
Exceptions
Une erreur d’E/S se produit.
Le flux est fermé.
buffer a la valeur null.
Exemples
L’exemple de code suivant montre comment écrire des données binaires à l’aide de la mémoire en tant que magasin de stockage, puis vérifier que les données ont été écrites correctement.
using System;
using System.IO;
class BinaryRW
{
static void Main()
{
const int arrayLength = 1000;
// Create random data to write to the stream.
byte[] dataArray = new byte[arrayLength];
new Random().NextBytes(dataArray);
BinaryWriter binWriter = new BinaryWriter(new MemoryStream());
// Write the data to the stream.
Console.WriteLine("Writing the data.");
binWriter.Write(dataArray);
// Create the reader using the stream from the writer.
BinaryReader binReader =
new BinaryReader(binWriter.BaseStream);
// Set Position to the beginning of the stream.
binReader.BaseStream.Position = 0;
// Read and verify the data.
byte[] verifyArray = binReader.ReadBytes(arrayLength);
if(verifyArray.Length != arrayLength)
{
Console.WriteLine("Error writing the data.");
return;
}
for(int i = 0; i < arrayLength; i++)
{
if(verifyArray[i] != dataArray[i])
{
Console.WriteLine("Error writing the data.");
return;
}
}
Console.WriteLine("The data was written and verified.");
}
}
open System
open System.IO
let arrayLength = 1000
// Create random data to write to the stream.
let dataArray = Array.zeroCreate<byte> arrayLength
Random().NextBytes dataArray
let binWriter = new BinaryWriter(new MemoryStream())
// Write the data to the stream.ch
printfn "Writing the data."
binWriter.Write dataArray
// Create the reader using the stream from the writer.
let binReader = new BinaryReader(binWriter.BaseStream)
// Set Position to the beginning of the stream.
binReader.BaseStream.Position <- 0
// Read and verify the data.
let verifyArray = binReader.ReadBytes arrayLength
if verifyArray.Length <> arrayLength then
printfn "Error writing the data."
else
let mutable failed = false
for i = 0 to arrayLength - 1 do
if verifyArray[i] <> dataArray[i] then
printfn "Error writing the data."
failed <- true
if not failed then
printfn "The data was written and verified."
Imports System.IO
Public Class BinaryRW
Shared Sub Main()
Const upperBound As Integer = 1000
' Create random data to write to the stream.
Dim dataArray(upperBound) As Byte
Dim randomGenerator As New Random
randomGenerator.NextBytes(dataArray)
Dim binWriter As New BinaryWriter(New MemoryStream())
' Write the data to the stream.
Console.WriteLine("Writing the data.")
binWriter.Write(dataArray)
' Create the reader using the stream from the writer.
Dim binReader As New BinaryReader(binWriter.BaseStream)
' Set the stream position to the beginning of the stream.
binReader.BaseStream.Position = 0
' Read and verify the data.
Dim verifyArray() As Byte = _
binReader.ReadBytes(dataArray.Length)
If verifyArray.Length <> dataArray.Length Then
Console.WriteLine("Error writing the data.")
Return
End If
For i As Integer = 0 To upperBound
If verifyArray(i) <> dataArray(i) Then
Console.WriteLine("Error writing the data.")
Return
End If
Next i
Console.WriteLine("The data was written and verified.")
End Sub
End Class
Remarques
Pour obtenir la liste des tâches d’E/S courantes, consultez Tâches d’E/S courantes.
Voir aussi
- E/S de fichier et de flux
- Guide pratique pour lire du texte à partir d’un fichier
- Guide pratique pour écrire du texte dans un fichier
S’applique à
Write(Byte)
Écrit un octet non signé dans le flux actuel et avance la position du flux d’un octet.
public:
virtual void Write(System::Byte value);
public virtual void Write(byte value);
abstract member Write : byte -> unit
override this.Write : byte -> unit
Public Overridable Sub Write (value As Byte)
Paramètres
- value
- Byte
Octet non signé à écrire.
Exceptions
Une erreur d’E/S se produit.
Le flux est fermé.
Exemples
L’exemple de code suivant montre comment écrire des données binaires à l’aide de la mémoire en tant que magasin de stockage, puis vérifier que les données ont été écrites correctement.
using System;
using System.IO;
class BinaryRW
{
static void Main()
{
int i = 0;
// Create random data to write to the stream.
byte[] writeArray = new byte[1000];
new Random().NextBytes(writeArray);
BinaryWriter binWriter = new BinaryWriter(new MemoryStream());
BinaryReader binReader =
new BinaryReader(binWriter.BaseStream);
try
{
// Write the data to the stream.
Console.WriteLine("Writing the data.");
for(i = 0; i < writeArray.Length; i++)
{
binWriter.Write(writeArray[i]);
}
// Set the stream position to the beginning of the stream.
binReader.BaseStream.Position = 0;
// Read and verify the data from the stream.
for(i = 0; i < writeArray.Length; i++)
{
if(binReader.ReadByte() != writeArray[i])
{
Console.WriteLine("Error writing the data.");
return;
}
}
Console.WriteLine("The data was written and verified.");
}
// Catch the EndOfStreamException and write an error message.
catch(EndOfStreamException e)
{
Console.WriteLine("Error writing the data.\n{0}",
e.GetType().Name);
}
}
}
open System
open System.IO
// Create random data to write to the stream.
let writeArray = Array.zeroCreate<byte> 1000
Random().NextBytes writeArray
let binWriter = new BinaryWriter(new MemoryStream())
let binReader = new BinaryReader(binWriter.BaseStream)
try
// Write the data to the stream.
printfn "Writing the data."
for i = 0 to writeArray.Length - 1 do
binWriter.Write writeArray[i]
// Set the stream position to the beginning of the stream.
binReader.BaseStream.Position <- 0
let mutable failed = false
// Read and verify the data from the stream.
for i = 0 to writeArray.Length - 1 do
if binReader.ReadByte() <> writeArray[i] then
printfn "Error writing the data."
failed <- true
if not failed then
printfn "The data was written and verified."
// Catch the EndOfStreamException and write an error message.
with :? EndOfStreamException as e ->
printfn $"Error writing the data.\n{e.GetType().Name}"
Imports System.IO
Public Class BinaryRW
Shared Sub Main()
Dim i As Integer = 0
' Create random data to write to the stream.
Dim writeArray(1000) As Byte
Dim randomGenerator As New Random()
randomGenerator.NextBytes(writeArray)
Dim binWriter As New BinaryWriter(New MemoryStream())
Dim binReader As New BinaryReader(binWriter.BaseStream)
Try
' Write the data to the stream.
Console.WriteLine("Writing the data.")
For i = 0 To writeArray.Length - 1
binWriter.Write(writeArray(i))
Next i
' Set the stream position to the beginning of the stream.
binReader.BaseStream.Position = 0
' Read and verify the data from the stream.
For i = 0 To writeArray.Length - 1
If binReader.ReadByte() <> writeArray(i) Then
Console.WriteLine("Error writing the data.")
Return
End If
Next i
Console.WriteLine("The data was written and verified.")
' Catch the EndOfStreamException and write an error message.
Catch ex As EndOfStreamException
Console.WriteLine("Error writing the data: {0}", _
ex.GetType().Name)
End Try
End Sub
End Class
Remarques
En raison des conflits de mise en forme des données, l’utilisation de cette méthode avec les encodages suivants n’est pas recommandée :
UTF-7
ISO-2022-JP
ISCII
Pour obtenir la liste des tâches d’E/S courantes, consultez Tâches d’E/S courantes.
Voir aussi
- E/S de fichier et de flux
- Guide pratique pour lire du texte à partir d’un fichier
- Guide pratique pour écrire du texte dans un fichier
S’applique à
Write(Boolean)
Écrit une valeur d’un octet Boolean dans le flux actuel, avec 0 représentant false et 1 représentant true.
public:
virtual void Write(bool value);
public virtual void Write(bool value);
abstract member Write : bool -> unit
override this.Write : bool -> unit
Public Overridable Sub Write (value As Boolean)
Paramètres
- value
- Boolean
Valeur Boolean à écrire (0 ou 1).
Exceptions
Une erreur d’E/S se produit.
Le flux est fermé.
Exemples
L’exemple de code suivant montre comment stocker et récupérer les paramètres d’application dans un fichier.
using System;
using System.IO;
using System.Text;
class ConsoleApplication
{
const string fileName = "AppSettings.dat";
static void Main()
{
WriteDefaultValues();
DisplayValues();
}
public static void WriteDefaultValues()
{
using (var stream = File.Open(fileName, FileMode.Create))
{
using (var writer = new BinaryWriter(stream, Encoding.UTF8, false))
{
writer.Write(1.250F);
writer.Write(@"c:\Temp");
writer.Write(10);
writer.Write(true);
}
}
}
public static void DisplayValues()
{
float aspectRatio;
string tempDirectory;
int autoSaveTime;
bool showStatusBar;
if (File.Exists(fileName))
{
using (var stream = File.Open(fileName, FileMode.Open))
{
using (var reader = new BinaryReader(stream, Encoding.UTF8, false))
{
aspectRatio = reader.ReadSingle();
tempDirectory = reader.ReadString();
autoSaveTime = reader.ReadInt32();
showStatusBar = reader.ReadBoolean();
}
}
Console.WriteLine("Aspect ratio set to: " + aspectRatio);
Console.WriteLine("Temp directory is: " + tempDirectory);
Console.WriteLine("Auto save time set to: " + autoSaveTime);
Console.WriteLine("Show status bar: " + showStatusBar);
}
}
}
open System.IO
open System.Text
let fileName = "AppSettings.dat"
let writeDefaultValues () =
use stream = File.Open(fileName, FileMode.Create)
use writer = new BinaryWriter(stream, Encoding.UTF8, false)
writer.Write 1.250F
writer.Write @"c:\Temp"
writer.Write 10
writer.Write true
let displayValues () =
if File.Exists fileName then
use stream = File.Open(fileName, FileMode.Open)
use reader = new BinaryReader(stream, Encoding.UTF8, false)
let aspectRatio = reader.ReadSingle()
let tempDirectory = reader.ReadString()
let autoSaveTime = reader.ReadInt32()
let showStatusBar = reader.ReadBoolean()
printfn $"Aspect ratio set to: {aspectRatio}"
printfn $"Temp directory is: {tempDirectory}"
printfn $"Auto save time set to: {autoSaveTime}"
printfn $"Show status bar: {showStatusBar}"
writeDefaultValues ()
displayValues ()
Imports System.IO
Module Module1
Const fileName As String = "AppSettings.dat"
Sub Main()
WriteDefaultValues()
DisplayValues()
End Sub
Sub WriteDefaultValues()
Using writer As BinaryWriter = New BinaryWriter(File.Open(fileName, FileMode.Create))
writer.Write(1.25F)
writer.Write("c:\Temp")
writer.Write(10)
writer.Write(True)
End Using
End Sub
Sub DisplayValues()
Dim aspectRatio As Single
Dim tempDirectory As String
Dim autoSaveTime As Integer
Dim showStatusBar As Boolean
If (File.Exists(fileName)) Then
Using reader As BinaryReader = New BinaryReader(File.Open(fileName, FileMode.Open))
aspectRatio = reader.ReadSingle()
tempDirectory = reader.ReadString()
autoSaveTime = reader.ReadInt32()
showStatusBar = reader.ReadBoolean()
End Using
Console.WriteLine("Aspect ratio set to: " & aspectRatio)
Console.WriteLine("Temp directory is: " & tempDirectory)
Console.WriteLine("Auto save time set to: " & autoSaveTime)
Console.WriteLine("Show status bar: " & showStatusBar)
End If
End Sub
End Module
Remarques
Pour obtenir la liste des tâches d’E/S courantes, consultez Tâches d’E/S courantes.
Voir aussi
- E/S de fichier et de flux
- Guide pratique pour lire du texte à partir d’un fichier
- Guide pratique pour écrire du texte dans un fichier
S’applique à
Write(Int32)
Écrit un entier signé à quatre octets dans le flux actuel et avance la position du flux de quatre octets.
public:
virtual void Write(int value);
public virtual void Write(int value);
abstract member Write : int -> unit
override this.Write : int -> unit
Public Overridable Sub Write (value As Integer)
Paramètres
- value
- Int32
Entier signé à quatre octets à écrire.
Exceptions
Une erreur d’E/S se produit.
Le flux est fermé.
Exemples
L’exemple de code suivant montre comment stocker et récupérer les paramètres d’application dans un fichier.
using System;
using System.IO;
using System.Text;
class ConsoleApplication
{
const string fileName = "AppSettings.dat";
static void Main()
{
WriteDefaultValues();
DisplayValues();
}
public static void WriteDefaultValues()
{
using (var stream = File.Open(fileName, FileMode.Create))
{
using (var writer = new BinaryWriter(stream, Encoding.UTF8, false))
{
writer.Write(1.250F);
writer.Write(@"c:\Temp");
writer.Write(10);
writer.Write(true);
}
}
}
public static void DisplayValues()
{
float aspectRatio;
string tempDirectory;
int autoSaveTime;
bool showStatusBar;
if (File.Exists(fileName))
{
using (var stream = File.Open(fileName, FileMode.Open))
{
using (var reader = new BinaryReader(stream, Encoding.UTF8, false))
{
aspectRatio = reader.ReadSingle();
tempDirectory = reader.ReadString();
autoSaveTime = reader.ReadInt32();
showStatusBar = reader.ReadBoolean();
}
}
Console.WriteLine("Aspect ratio set to: " + aspectRatio);
Console.WriteLine("Temp directory is: " + tempDirectory);
Console.WriteLine("Auto save time set to: " + autoSaveTime);
Console.WriteLine("Show status bar: " + showStatusBar);
}
}
}
open System.IO
open System.Text
let fileName = "AppSettings.dat"
let writeDefaultValues () =
use stream = File.Open(fileName, FileMode.Create)
use writer = new BinaryWriter(stream, Encoding.UTF8, false)
writer.Write 1.250F
writer.Write @"c:\Temp"
writer.Write 10
writer.Write true
let displayValues () =
if File.Exists fileName then
use stream = File.Open(fileName, FileMode.Open)
use reader = new BinaryReader(stream, Encoding.UTF8, false)
let aspectRatio = reader.ReadSingle()
let tempDirectory = reader.ReadString()
let autoSaveTime = reader.ReadInt32()
let showStatusBar = reader.ReadBoolean()
printfn $"Aspect ratio set to: {aspectRatio}"
printfn $"Temp directory is: {tempDirectory}"
printfn $"Auto save time set to: {autoSaveTime}"
printfn $"Show status bar: {showStatusBar}"
writeDefaultValues ()
displayValues ()
Imports System.IO
Module Module1
Const fileName As String = "AppSettings.dat"
Sub Main()
WriteDefaultValues()
DisplayValues()
End Sub
Sub WriteDefaultValues()
Using writer As BinaryWriter = New BinaryWriter(File.Open(fileName, FileMode.Create))
writer.Write(1.25F)
writer.Write("c:\Temp")
writer.Write(10)
writer.Write(True)
End Using
End Sub
Sub DisplayValues()
Dim aspectRatio As Single
Dim tempDirectory As String
Dim autoSaveTime As Integer
Dim showStatusBar As Boolean
If (File.Exists(fileName)) Then
Using reader As BinaryReader = New BinaryReader(File.Open(fileName, FileMode.Open))
aspectRatio = reader.ReadSingle()
tempDirectory = reader.ReadString()
autoSaveTime = reader.ReadInt32()
showStatusBar = reader.ReadBoolean()
End Using
Console.WriteLine("Aspect ratio set to: " & aspectRatio)
Console.WriteLine("Temp directory is: " & tempDirectory)
Console.WriteLine("Auto save time set to: " & autoSaveTime)
Console.WriteLine("Show status bar: " & showStatusBar)
End If
End Sub
End Module
Remarques
BinaryWriter stocke ce type de données au format petit endian.
Pour obtenir la liste des tâches d’E/S courantes, consultez Tâches d’E/S courantes.
Voir aussi
- E/S de fichier et de flux
- Guide pratique pour lire du texte à partir d’un fichier
- Guide pratique pour écrire du texte dans un fichier