BinaryWriter Classe

Définition

Écrit des types primitifs en binaire dans un flux et prend en charge l'écriture de chaînes dans un codage 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 BinaryWriter classe fournit des méthodes qui simplifient l’écriture de types de données primitifs dans un flux. Par exemple, vous pouvez utiliser la Write méthode 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 un instance de la BinaryWriter classe, vous fournissez le flux dans lequel écrire et spécifiez éventuellement le type d’encodage et indiquez s’il faut laisser le flux ouvert après la suppression de l’objetBinaryWriter. 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 directement le type Dispose, appelez sa méthode dans un bloc try/catch. Pour la supprimer indirectement, utilisez une construction de langage telle que using (dans C#) ou Using (dans Visual Basic). Pour plus d’informations, consultez la section « Utilisation d’un objet qui implémente 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 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 permet éventuellement de laisser le flux ouvert.

Champs

Null

Spécifie BinaryWriter sans magasin de sauvegarde.

OutStream

Contient le flux sous-jacent.

Propriétés

BaseStream

Obtient le flux sous-jacent de 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 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 pour le writer actuel et provoque l'écriture des données mises en mémoire tampon sur l'appareil sous-jacent.

GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(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 de 1 octet dans le flux actuel, 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 zone 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 en fonction du Encoding utilisé et des caractères spécifiques en cours d’écriture dans le flux.

Write(Char[])

Écrit un tableau de caractères dans le flux actuel et avance la position actuelle du flux en fonction du Encoding utilisé et des caractères spécifiques en cours d’écriture dans le flux.

Write(Char[], Int32, Int32)

Écrit dans le flux actuel une section d’un tableau de caractères et avance la position actuelle du flux en fonction du Encoding utilisé et éventuellement des caractères spécifiques écrits.

Write(Decimal)

Écrit une valeur décimale dans le flux actuel et avance la position du flux de 16 octets.

Write(Double)

Écrit une valeur à virgule flottante de 8 octets dans le flux actuel et avance la position du flux de 8 octets.

Write(Half)

Écrit une valeur à virgule flottante de deux octets dans le flux actuel et avance la position du flux de deux octets.

Write(Int16)

Écrit un entier signé de 2 octets dans le flux actuel et avance la position du flux de 2 octets.

Write(Int32)

Écrit un entier signé de 4 octets dans le flux actuel et avance la position du flux de 4 octets.

Write(Int64)

Écrit un entier signé de 8 octets dans le flux actuel et avance la position du flux de 8 octets.

Write(ReadOnlySpan<Byte>)

Écrit une plage d’octets dans le flux actuel.

Write(ReadOnlySpan<Char>)

Écrit une plage de caractères dans le flux actuel et avance la position actuelle du flux en fonction du Encoding utilisé et éventuellement des 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 4 octets dans le flux actuel et avance la position du flux de 4 octets.

Write(String)

Écrit dans ce flux une chaîne préfixée par sa longueur dans l’encodage actuel de BinaryWriter et avance la position actuelle du flux en fonction de l’encodage utilisé et des caractères spécifiques écrits dans le flux.

Write(UInt16)

Écrit un entier non signé de 2 octets dans le flux actuel et avance la position du flux de 2 octets.

Write(UInt32)

Écrit un entier non signé de 4 octets dans le flux actuel et avance la position du flux de 4 octets.

Write(UInt64)

Écrit un entier non signé de 8 octets dans le flux actuel et avance la position du flux de 8 octets.

Write7BitEncodedInt(Int32)

Écrit un nombre entier 32 bits dans un format compressé.

Write7BitEncodedInt64(Int64)

Écrit 7 bits à la fois d’un nombre.

Implémentations d’interfaces explicites

IDisposable.Dispose()

Libère les ressources non managées utilisées par 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 élément supprimable asynchrone sont effectuées.

S’applique à

Voir aussi