BinaryWriter Classe

Définition

É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 Boolean d’un octet dans le flux actuel, avec 0 représentant false et 1 représentant true.

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 Encoding utilisé et aux caractères spécifiques écrits dans le flux.

Write(Char[])

Écrit un tableau de caractères dans le flux actuel et avance la position actuelle du flux conformément au Encoding utilisé et aux caractères spécifiques écrits dans le flux.

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 Encoding utilisée et peut-être aux caractères spécifiques écrits dans le flux.

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 Encoding utilisé et peut-être aux caractères spécifiques écrits dans le flux.

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.

S’applique à

Voir aussi