BinaryReader 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.
Lit les types de données primitifs en tant que valeurs binaires dans un encodage spécifique.
public ref class BinaryReader : IDisposable
public class BinaryReader : IDisposable
[System.Runtime.InteropServices.ComVisible(true)]
public class BinaryReader : IDisposable
type BinaryReader = class
interface IDisposable
[<System.Runtime.InteropServices.ComVisible(true)>]
type BinaryReader = class
interface IDisposable
Public Class BinaryReader
Implements IDisposable
- Héritage
-
BinaryReader
- 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 BinaryReader classe fournit des méthodes qui simplifient la lecture des types de données primitifs à partir d’un flux. Par exemple, vous pouvez utiliser la ReadBoolean méthode pour lire l’octet suivant en tant que valeur booléenne et avancer la position actuelle dans le flux d’un octet. La classe inclut des méthodes de lecture qui prennent en charge différents types de données.
Lorsque vous créez une instance de la BinaryReader classe, vous fournissez le flux à lire et spécifiez éventuellement le type d’encodage et indiquez s’il faut laisser le flux ouvert après avoir supprimé l’objet BinaryReader . 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, appelez sa Dispose méthode dans un try/catch bloc. Pour la 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 d’interface IDisposable .
Constructeurs
| Nom | Description |
|---|---|
| BinaryReader(Stream, Encoding, Boolean) |
Initialise une nouvelle instance de la BinaryReader classe en fonction du flux et de l’encodage de caractères spécifiés, et laisse éventuellement le flux ouvert. |
| BinaryReader(Stream, Encoding) |
Initialise une nouvelle instance de la BinaryReader classe en fonction du flux et de l’encodage de caractères spécifiés. |
| BinaryReader(Stream) |
Initialise une nouvelle instance de la BinaryReader classe en fonction du flux spécifié et à l’aide de l’encodage UTF-8. |
Propriétés
| Nom | Description |
|---|---|
| BaseStream |
Expose l’accès au flux sous-jacent du BinaryReader. |
Méthodes
| Nom | Description |
|---|---|
| Close() |
Ferme le lecteur actuel et le flux sous-jacent. |
| Dispose() |
Libère toutes les ressources utilisées par l’instance actuelle de la BinaryReader classe. |
| Dispose(Boolean) |
Libère les ressources non managées utilisées par la BinaryReader classe et libère éventuellement les ressources managées. |
| Equals(Object) |
Détermine si l’objet spécifié est égal à l’objet actuel. (Hérité de Object) |
| FillBuffer(Int32) |
Remplit la mémoire tampon interne avec le nombre spécifié d’octets lus à partir du flux. |
| 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) |
| PeekChar() |
Retourne le caractère disponible suivant et n’avance pas la position d’octet ou de caractère. |
| Read() |
Lit les caractères du flux sous-jacent et avance la position actuelle du flux conformément au |
| Read(Byte[], Int32, Int32) |
Lit le nombre spécifié d’octets du flux, à partir d’un point spécifié dans le tableau d’octets. |
| Read(Char[], Int32, Int32) |
Lit le nombre spécifié de caractères du flux, à partir d’un point spécifié dans le tableau de caractères. |
| Read(Span<Byte>) |
Lit une séquence d’octets à partir du flux actuel et avance la position dans le flux en fonction du nombre d’octets lus. |
| Read(Span<Char>) |
Lit, à partir du flux actuel, le même nombre de caractères que la longueur de la mémoire tampon fournie, les écrit dans la mémoire tampon fournie et avance la position actuelle conformément à l’usage |
| Read7BitEncodedInt() |
Lit dans un entier 32 bits au format compressé. |
| ReadBoolean() |
Lit une |
| ReadByte() |
Lit l’octet suivant à partir du flux actuel et avance la position actuelle du flux d’un octet. |
| ReadBytes(Int32) |
Lit le nombre spécifié d’octets du flux actuel dans un tableau d’octets et avance la position actuelle par ce nombre d’octets. |
| ReadChar() |
Lit le caractère suivant du flux actuel et avance la position actuelle du flux conformément à l’utilisation |
| ReadChars(Int32) |
Lit le nombre spécifié de caractères du flux actuel, retourne les données d’un tableau de caractères et avance la position actuelle conformément à l’élément |
| ReadDecimal() |
Lit une valeur décimale à partir du flux actuel et avance la position actuelle du flux de seize octets. |
| ReadDouble() |
Lit une valeur à virgule flottante de 8 octets à partir du flux actuel et avance la position actuelle du flux de huit octets. |
| ReadInt16() |
Lit un entier signé de 2 octets à partir du flux actuel et avance la position actuelle du flux de deux octets. |
| ReadInt32() |
Lit un entier signé de 4 octets à partir du flux actuel et avance la position actuelle du flux de quatre octets. |
| ReadInt64() |
Lit un entier signé de 8 octets à partir du flux actuel et avance la position actuelle du flux de huit octets. |
| ReadSByte() |
Lit un octet signé à partir de ce flux et avance la position actuelle du flux d’un octet. |
| ReadSingle() |
Lit une valeur à virgule flottante de 4 octets à partir du flux actuel et avance la position actuelle du flux de quatre octets. |
| ReadString() |
Lit une chaîne à partir du flux actuel. La chaîne est précédée de la longueur, encodée sous la forme d’un entier de sept bits à la fois. |
| ReadUInt16() |
Lit un entier non signé de 2 octets à partir du flux actuel à l’aide de l’encodage little-endian et avance la position du flux par deux octets. |
| ReadUInt32() |
Lit un entier non signé de 4 octets à partir du flux actuel et avance la position du flux de quatre octets. |
| ReadUInt64() |
Lit un entier non signé de 8 octets à partir du flux actuel et avance la position du flux de huit octets. |
| ToString() |
Retourne une chaîne qui représente l’objet actuel. (Hérité de Object) |
Implémentations d’interfaces explicites
| Nom | Description |
|---|---|
| IDisposable.Dispose() |
Cette API prend en charge l'infrastructure du produit et n'est pas destinée à être utilisée directement à partir de votre code. Libère l’sauf BaseStream configuration contraire par BinaryReader(Stream, Encoding, Boolean). |