BinaryWriter Classe
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 des types primitifs dans un flux et prend en charge l’écriture de chaînes dans un encodage spécifique.
public ref class BinaryWriter : IDisposable
public ref class BinaryWriter : IAsyncDisposable, IDisposable
public class BinaryWriter : IDisposable
public class BinaryWriter : IAsyncDisposable, IDisposable
[System.Serializable]
public class BinaryWriter : IDisposable
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class BinaryWriter : IDisposable
type BinaryWriter = class
interface IDisposable
type BinaryWriter = class
interface IAsyncDisposable
interface IDisposable
[<System.Serializable>]
type BinaryWriter = class
interface IDisposable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type BinaryWriter = class
interface IDisposable
Public Class BinaryWriter
Implements IDisposable
Public Class BinaryWriter
Implements IAsyncDisposable, IDisposable
- Héritage
-
BinaryWriter
- Attributs
- Implémente
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
La classe BinaryWriter fournit des méthodes qui simplifient l’écriture de types de données primitifs dans un flux. Par exemple, vous pouvez utiliser la méthode Write pour écrire une valeur booléenne dans le flux en tant que valeur d’un octet. La classe inclut des méthodes d’écriture qui prennent en charge différents types de données.
Lorsque vous créez une instance de la classe BinaryWriter, vous fournissez le flux à écrire et spécifiez éventuellement le type d’encodage et indiquez s’il faut laisser le flux ouvert après la suppression de l’objet BinaryWriter. Si vous ne spécifiez pas de type d’encodage, UTF-8 est utilisé.
Important
Ce type implémente l’interface IDisposable. Une fois que vous avez fini d’utiliser le type, vous devez le supprimer directement ou indirectement. Pour supprimer le type directement, appelez sa méthode Dispose dans un bloc try
/catch
. Pour le supprimer indirectement, utilisez une construction de langage telle que using
(en C#) ou Using
(en Visual Basic). Pour plus d’informations, consultez la section « Utilisation d’un objet implémentant IDisposable » dans la rubrique de l’interface IDisposable.
Une classe dérivée peut remplacer les méthodes de cette classe pour donner des encodages de caractères uniques.
Constructeurs
BinaryWriter() |
Initialise une nouvelle instance de la classe BinaryWriter qui écrit dans un flux. |
BinaryWriter(Stream) |
Initialise une nouvelle instance de la classe BinaryWriter en fonction du flux spécifié et à l’aide de l’encodage UTF-8. |
BinaryWriter(Stream, Encoding) |
Initialise une nouvelle instance de la classe BinaryWriter en fonction du flux et de l’encodage de caractères spécifiés. |
BinaryWriter(Stream, Encoding, Boolean) |
Initialise une nouvelle instance de la classe BinaryWriter en fonction du flux et de l’encodage de caractères spécifiés, et laisse éventuellement le flux ouvert. |
Champs
Null |
Spécifie un BinaryWriter sans magasin de stockage. |
OutStream |
Contient le flux sous-jacent. |
Propriétés
BaseStream |
Obtient le flux sous-jacent du BinaryWriter. |
Méthodes
Close() |
Ferme le BinaryWriter actuel et le flux sous-jacent. |
Dispose() |
Libère toutes les ressources utilisées par l’instance actuelle de la classe BinaryWriter. |
Dispose(Boolean) |
Libère les ressources non managées utilisées par le BinaryWriter et libère éventuellement les ressources managées. |
DisposeAsync() |
Libère de façon asynchrone toutes les ressources utilisées par l’instance actuelle de la classe BinaryWriter. |
Equals(Object) |
Détermine si l’objet spécifié est égal à l’objet actuel. (Hérité de Object) |
Flush() |
Efface toutes les mémoires tampons de l’enregistreur actuel et entraîne l’écriture de toutes les données mises en mémoire tampon sur l’appareil sous-jacent. |
GetHashCode() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
Seek(Int32, SeekOrigin) |
Définit la position dans le flux actuel. |
ToString() |
Retourne une chaîne qui représente l’objet actuel. (Hérité de Object) |
Write(Boolean) |
Écrit une valeur |
Write(Byte) |
Écrit un octet non signé dans le flux actuel et avance la position du flux d’un octet. |
Write(Byte[]) |
Écrit un tableau d’octets dans le flux sous-jacent. |
Write(Byte[], Int32, Int32) |
Écrit une région d’un tableau d’octets dans le flux actuel. |
Write(Char) |
Écrit un caractère Unicode dans le flux actuel et avance la position actuelle du flux conformément au |
Write(Char[]) |
Écrit un tableau de caractères dans le flux actuel et avance la position actuelle du flux conformément au |
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 à la |
Write(Decimal) |
Écrit une valeur décimale dans le flux actuel et avance la position du flux de seize 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(Half) |
Écrit une valeur à virgule flottante à deux octets dans le flux actuel et avance la position du flux de deux octets. |
Write(Int16) |
Écrit un entier signé à deux octets dans le flux actuel et avance la position du flux de deux octets. |
Write(Int32) |
Écrit un entier signé à quatre octets dans le flux actuel et avance la position du flux de quatre octets. |
Write(Int64) |
Écrit un entier signé de huit octets dans le flux actuel et avance la position du flux de huit octets. |
Write(ReadOnlySpan<Byte>) |
Écrit une étendue d’octets dans le flux actuel. |
Write(ReadOnlySpan<Char>) |
Écrit une étendue de caractères dans le flux actuel et avance la position actuelle du flux conformément au |
Write(SByte) |
Écrit un octet signé dans le flux actuel et avance la position du flux d’un octet. |
Write(Single) |
Écrit une valeur à virgule flottante de quatre octets dans le flux actuel et avance la position du flux de quatre octets. |
Write(String) |
Écrit une chaîne préfixée de longueur dans ce flux dans l’encodage actuel du BinaryWriter, et avance la position actuelle du flux conformément à l’encodage utilisé et aux caractères spécifiques écrits dans le flux. |
Write(UInt16) |
Écrit un entier non signé à deux octets dans le flux actuel et avance la position du flux de deux 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(UInt64) |
Écrit un entier non signé de huit octets dans le flux actuel et avance la position du flux de huit octets. |
Write7BitEncodedInt(Int32) |
Écrit un entier 32 bits dans un format compressé. |
Write7BitEncodedInt64(Int64) |
Écrit un nombre de 7 bits à la fois. |
Implémentations d’interfaces explicites
IDisposable.Dispose() |
Libère les ressources non managées utilisées par le BinaryWriter et libère éventuellement les ressources managées. |
Méthodes d’extension
ConfigureAwait(IAsyncDisposable, Boolean) |
Configure la façon dont les attentes sur les tâches retournées à partir d’un jetable asynchrone sont effectuées. |