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 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 une nouvelle instance de la BinaryWriter classe, vous fournissez le flux dans lequel écrire et spécifiez éventuellement le type d’encodage et indiquez si le flux doit être 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 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 |
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 |
Write(Char[]) |
Écrit un tableau de caractères dans le flux actuel et avance la position actuelle du flux en fonction du |
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 |
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 à deux octets dans le flux actuel et avance la position du flux par 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 |
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. |