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.Writes primitive types in binary to a stream and supports writing strings in a specific encoding.

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 des paramètres d’application dans un fichier.The following code example demonstrates how to store and retrieve application settings in a file.

using System;
using System.IO;

class ConsoleApplication
{
    const string fileName = "AppSettings.dat";

    static void Main()
    {
        WriteDefaultValues();
        DisplayValues();
    }

    public static void WriteDefaultValues()
    {
        using (BinaryWriter writer = new BinaryWriter(File.Open(fileName, FileMode.Create)))
        {
            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 (BinaryReader reader = new BinaryReader(File.Open(fileName, FileMode.Open)))
            {
                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);
        }
    }
}
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.The BinaryWriter class provides methods that simplify writing primitive data types to a stream. 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.For example, you can use the Write method to write a Boolean value to the stream as a one-byte value. La classe comprend des méthodes d’écriture qui prennent en charge différents types de données.The class includes write methods that support different data types.

Quand vous créez une nouvelle instance de la BinaryWriter classe, vous fournissez le flux dans lequel écrire, et vous pouvez éventuellement spécifier le type d’encodage et s’il faut conserver le flux ouvert après avoir supprimé l' BinaryWriter objet.When you create a new instance of the BinaryWriter class, you provide the stream to write to, and optionally specify the type of encoding and whether to leave the stream open after disposing the BinaryWriter object. Si vous ne spécifiez pas de type d’encodage, UTF-8 est utilisé.If you do not specify an encoding type, UTF-8 is used.

Important

Ce type implémente l'interface IDisposable.This type implements the IDisposable interface. Une fois que vous avez fini d’utiliser le type, vous devez le supprimer directement ou indirectement.When you have finished using the type, you should dispose of it either directly or indirectly. Pour supprimer directement le type Dispose, appelez sa méthode dans un bloc try/catch.To dispose of the type directly, call its Dispose method in a try/catch block. Pour la supprimer indirectement, utilisez une construction de langage telle que using (dans C#) ou Using (dans Visual Basic).To dispose of it indirectly, use a language construct such as using (in C#) or Using (in Visual Basic). Pour plus d’informations, consultez la section « Utilisation d’un objet qui implémente IDisposable » dans la rubrique de l’interface IDisposable.For more information, see the "Using an Object that Implements IDisposable" section in the IDisposable interface topic.

Une classe dérivée peut substituer les méthodes de cette classe pour fournir des encodages de caractères uniques.A derived class can override the methods of this class to give unique character encodings.

Constructeurs

BinaryWriter()

Initialise une nouvelle instance de la classe BinaryWriter qui écrit dans un flux.Initializes a new instance of the BinaryWriter class that writes to a stream.

BinaryWriter(Stream)

Initialise une nouvelle instance de la classe BinaryWriter en fonction du flux spécifié et à l'aide de l'encodage UTF-8.Initializes a new instance of the BinaryWriter class based on the specified stream and using UTF-8 encoding.

BinaryWriter(Stream, Encoding)

Initialise une nouvelle instance de la classe BinaryWriter en fonction du flux et l'encodage de caractères spécifiés.Initializes a new instance of the BinaryWriter class based on the specified stream and character encoding.

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.Initializes a new instance of the BinaryWriter class based on the specified stream and character encoding, and optionally leaves the stream open.

Champs

Null

Spécifie BinaryWriter sans magasin de sauvegarde.Specifies a BinaryWriter with no backing store.

OutStream

Contient le flux sous-jacent.Holds the underlying stream.

Propriétés

BaseStream

Obtient le flux sous-jacent de BinaryWriter.Gets the underlying stream of the BinaryWriter.

Méthodes

Close()

Ferme le BinaryWriter actuel et le flux sous-jacent.Closes the current BinaryWriter and the underlying stream.

Dispose()

Libère toutes les ressources utilisées par l'instance actuelle de la classe BinaryWriter.Releases all resources used by the current instance of the BinaryWriter class.

Dispose(Boolean)

Libère les ressources non managées utilisées par BinaryWriter et libère éventuellement les ressources managées.Releases the unmanaged resources used by the BinaryWriter and optionally releases the managed resources.

DisposeAsync()

Libère de façon asynchrone toutes les ressources utilisées par l’instance actuelle de la classe BinaryWriter.Asynchronously releases all resources used by the current instance of the BinaryWriter class.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.Determines whether the specified object is equal to the current object.

(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.Clears all buffers for the current writer and causes any buffered data to be written to the underlying device.

GetHashCode()

Sert de fonction de hachage par défaut.Serves as the default hash function.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.Creates a shallow copy of the current Object.

(Hérité de Object)
Seek(Int32, SeekOrigin)

Définit la position dans le flux actuel.Sets the position within the current stream.

ToString()

Retourne une chaîne qui représente l'objet actuel.Returns a string that represents the current object.

(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.Writes a one-byte Boolean value to the current stream, with 0 representing false and 1 representing true.

Write(Byte)

Écrit un octet non signé dans le flux actuel et avance la position du flux d’un octet.Writes an unsigned byte to the current stream and advances the stream position by one byte.

Write(Byte[])

Écrit un tableau d’octets dans le flux sous-jacent.Writes a byte array to the underlying stream.

Write(Byte[], Int32, Int32)

Écrit une zone d’un tableau d’octets dans le flux actuel.Writes a region of a byte array to the current stream.

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.Writes a Unicode character to the current stream and advances the current position of the stream in accordance with the Encoding used and the specific characters being written to the stream.

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.Writes a character array to the current stream and advances the current position of the stream in accordance with the Encoding used and the specific characters being written to the stream.

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.Writes a section of a character array to the current stream, and advances the current position of the stream in accordance with the Encoding used and perhaps the specific characters being written to the stream.

Write(Decimal)

Écrit une valeur décimale dans le flux actuel et avance la position du flux de 16 octets.Writes a decimal value to the current stream and advances the stream position by sixteen bytes.

Write(Double)

Écrit une valeur à virgule flottante de 8 octets dans le flux actuel et avance la position du flux de 8 octets.Writes an eight-byte floating-point value to the current stream and advances the stream position by eight bytes.

Write(Int16)

Écrit un entier signé de 2 octets dans le flux actuel et avance la position du flux de 2 octets.Writes a two-byte signed integer to the current stream and advances the stream position by two bytes.

Write(Int32)

Écrit un entier signé de 4 octets dans le flux actuel et avance la position du flux de 4 octets.Writes a four-byte signed integer to the current stream and advances the stream position by four bytes.

Write(Int64)

Écrit un entier signé de 8 octets dans le flux actuel et avance la position du flux de 8 octets.Writes an eight-byte signed integer to the current stream and advances the stream position by eight bytes.

Write(ReadOnlySpan<Byte>)

Écrit une plage d’octets dans le flux actuel.Writes a span of bytes to the current stream.

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.Writes a span of characters to the current stream, and advances the current position of the stream in accordance with the Encoding used and perhaps the specific characters being written to the stream.

Write(SByte)

Écrit un octet signé dans le flux actuel et avance la position du flux d’un octet.Writes a signed byte to the current stream and advances the stream position by one byte.

Write(Single)

Écrit une valeur à virgule flottante de 4 octets dans le flux actuel et avance la position du flux de 4 octets.Writes a four-byte floating-point value to the current stream and advances the stream position by four bytes.

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.Writes a length-prefixed string to this stream in the current encoding of the BinaryWriter, and advances the current position of the stream in accordance with the encoding used and the specific characters being written to the stream.

Write(UInt16)

Écrit un entier non signé de 2 octets dans le flux actuel et avance la position du flux de 2 octets.Writes a two-byte unsigned integer to the current stream and advances the stream position by two bytes.

Write(UInt32)

Écrit un entier non signé de 4 octets dans le flux actuel et avance la position du flux de 4 octets.Writes a four-byte unsigned integer to the current stream and advances the stream position by four bytes.

Write(UInt64)

Écrit un entier non signé de 8 octets dans le flux actuel et avance la position du flux de 8 octets.Writes an eight-byte unsigned integer to the current stream and advances the stream position by eight bytes.

Write7BitEncodedInt(Int32)

Écrit un nombre entier 32 bits dans un format compressé.Writes a 32-bit integer in a compressed format.

Write7BitEncodedInt64(Int64)

Écrit 7 bits à la fois d’un nombre.Writes out a number 7 bits at a time.

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.Releases the unmanaged resources used by the BinaryWriter and optionally releases the managed resources.

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.Configures how awaits on the tasks returned from an async disposable are performed.

S’applique à

Voir aussi