BinaryReader BinaryReader BinaryReader BinaryReader Class

Definizione

Legge i tipi di dati primitivi come valori binari in una determinata codifica.Reads primitive data types as binary values in a specific encoding.

public ref class BinaryReader : IDisposable
[System.Runtime.InteropServices.ComVisible(true)]
public class BinaryReader : IDisposable
type BinaryReader = class
    interface IDisposable
Public Class BinaryReader
Implements IDisposable
Ereditarietà
BinaryReaderBinaryReaderBinaryReaderBinaryReader
Attributi
Implementazioni

Esempi

Esempio di codice seguente viene illustrato come archiviare e recuperare le impostazioni dell'applicazione in un file.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

Commenti

Il BinaryReader classe fornisce metodi che semplificano la lettura di tipi di dati primitivi da un flusso.The BinaryReader class provides methods that simplify reading primitive data types from a stream. Ad esempio, è possibile usare il ReadBoolean metodo per leggere il byte successivo come un valore booleano e incrementa la posizione corrente nel flusso di un byte.For example, you can use the ReadBoolean method to read the next byte as a Boolean value and advance the current position in the stream by one byte. La classe include metodi di lettura che supportano diversi tipi di dati.The class includes read methods that support different data types.

Quando si crea una nuova istanza di BinaryReader (classe), fornire il flusso da cui leggere e, facoltativamente, specificare il tipo di codifica e se si desidera mantenere il flusso aprire dopo avere eliminato il BinaryReader oggetto.When you create a new instance of the BinaryReader class, you provide the stream to read from, and optionally specify the type of encoding and whether to leave the stream open after disposing the BinaryReader object. Se non si specifica un tipo di codifica, viene utilizzato UTF-8.If you do not specify an encoding type, UTF-8 is used.

Importante

Questo tipo implementa la IDisposable interfaccia.This type implements the IDisposable interface. Dopo aver utilizzato il tipo, è necessario eliminarlo direttamente o indirettamente.When you have finished using the type, you should dispose of it either directly or indirectly. Per eliminare il tipo direttamente, chiamare relativi Dispose metodo in un try / catch blocco.To dispose of the type directly, call its Dispose method in a try/catch block. Per eliminarlo indirettamente, utilizzare un costrutto di linguaggio come ad esempio using in C# o Using in Visual Basic.To dispose of it indirectly, use a language construct such as using (in C#) or Using (in Visual Basic). Per altre informazioni, vedere la sezione "Utilizzo di oggetti che implementano IDisposable" nel IDisposable argomento relativo all'interfaccia.For more information, see the "Using an Object that Implements IDisposable" section in the IDisposable interface topic.

Costruttori

BinaryReader(Stream) BinaryReader(Stream) BinaryReader(Stream) BinaryReader(Stream)

Inizializza una nuova istanza della classe BinaryReader in base al flusso specificato e usando la codifica UTF-8.Initializes a new instance of the BinaryReader class based on the specified stream and using UTF-8 encoding.

BinaryReader(Stream, Encoding) BinaryReader(Stream, Encoding) BinaryReader(Stream, Encoding) BinaryReader(Stream, Encoding)

Inizializza una nuova istanza della classe BinaryReader in base alla codifica dei caratteri e del flusso specificata.Initializes a new instance of the BinaryReader class based on the specified stream and character encoding.

BinaryReader(Stream, Encoding, Boolean) BinaryReader(Stream, Encoding, Boolean) BinaryReader(Stream, Encoding, Boolean) BinaryReader(Stream, Encoding, Boolean)

Inizializza una nuova istanza della classe BinaryReader in base alla codifica dei caratteri e di flusso specificati. Facoltativamente mantiene aperto il flusso.Initializes a new instance of the BinaryReader class based on the specified stream and character encoding, and optionally leaves the stream open.

Proprietà

BaseStream BaseStream BaseStream BaseStream

Espone l'accesso al flusso sottostante dell'oggetto BinaryReader.Exposes access to the underlying stream of the BinaryReader.

Metodi

Close() Close() Close() Close()

Chiude il visualizzatore corrente e il flusso sottostante.Closes the current reader and the underlying stream.

Dispose() Dispose() Dispose() Dispose()

Rilascia tutte le risorse usate dall'istanza corrente della classe BinaryReader.Releases all resources used by the current instance of the BinaryReader class.

Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Rilascia le risorse non gestite usate dalla classe BinaryReader e facoltativamente le risorse gestite.Releases the unmanaged resources used by the BinaryReader class and optionally releases the managed resources.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Inherited from Object)
FillBuffer(Int32) FillBuffer(Int32) FillBuffer(Int32) FillBuffer(Int32)

Inserisce nel buffer interno il numero specificato di byte letti dal flusso.Fills the internal buffer with the specified number of bytes read from the stream.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Inherited from Object)
PeekChar() PeekChar() PeekChar() PeekChar()

Restituisce il successivo carattere disponibile senza spostare in avanti la posizione del byte o del carattere.Returns the next available character and does not advance the byte or character position.

Read() Read() Read() Read()

Legge i caratteri dal flusso sottostante e sposta in avanti la posizione corrente del flusso secondo il valore Encoding usato e il carattere specifico che il flusso sta leggendo.Reads characters from the underlying stream and advances the current position of the stream in accordance with the Encoding used and the specific character being read from the stream.

Read(Byte[], Int32, Int32) Read(Byte[], Int32, Int32) Read(Byte[], Int32, Int32) Read(Byte[], Int32, Int32)

Legge il numero specificato di byte dal flusso, a partire da un punto specificato nella matrice di byte.Reads the specified number of bytes from the stream, starting from a specified point in the byte array.

Read(Char[], Int32, Int32) Read(Char[], Int32, Int32) Read(Char[], Int32, Int32) Read(Char[], Int32, Int32)

Legge il numero specificato di caratteri dal flusso, a partire da un punto specificato nella matrice di caratteri.Reads the specified number of characters from the stream, starting from a specified point in the character array.

Read(Span<Byte>) Read(Span<Byte>) Read(Span<Byte>) Read(Span<Byte>)
Read(Span<Char>) Read(Span<Char>) Read(Span<Char>) Read(Span<Char>)
Read7BitEncodedInt() Read7BitEncodedInt() Read7BitEncodedInt() Read7BitEncodedInt()

Legge un intero a 32 bit in formato compresso.Reads in a 32-bit integer in compressed format.

ReadBoolean() ReadBoolean() ReadBoolean() ReadBoolean()

Legge un valore Boolean dal flusso corrente e sposta in avanti di 1 byte la posizione corrente del flusso.Reads a Boolean value from the current stream and advances the current position of the stream by one byte.

ReadByte() ReadByte() ReadByte() ReadByte()

Legge il byte successivo dal flusso corrente e sposta in avanti di 1 byte la posizione corrente del flusso.Reads the next byte from the current stream and advances the current position of the stream by one byte.

ReadBytes(Int32) ReadBytes(Int32) ReadBytes(Int32) ReadBytes(Int32)

Legge il numero specificato di byte dal flusso corrente in una matrice di byte e sposta in avanti la posizione corrente in base a tale numero di byte.Reads the specified number of bytes from the current stream into a byte array and advances the current position by that number of bytes.

ReadChar() ReadChar() ReadChar() ReadChar()

Legge il carattere successivo dal flusso corrente e sposta in avanti la posizione corrente del flusso secondo il valore Encoding usato e il carattere specifico letto dal flusso.Reads the next character from the current stream and advances the current position of the stream in accordance with the Encoding used and the specific character being read from the stream.

ReadChars(Int32) ReadChars(Int32) ReadChars(Int32) ReadChars(Int32)

Legge il numero specificato di caratteri dal flusso corrente, restituisce i dati in una matrice di caratteri e sposta in avanti la posizione corrente secondo il valore Encoding usato e il carattere specifico letto dal flusso.Reads the specified number of characters from the current stream, returns the data in a character array, and advances the current position in accordance with the Encoding used and the specific character being read from the stream.

ReadDecimal() ReadDecimal() ReadDecimal() ReadDecimal()

Legge un valore decimale dal flusso corrente e sposta in avanti di sedici byte la posizione corrente del flusso.Reads a decimal value from the current stream and advances the current position of the stream by sixteen bytes.

ReadDouble() ReadDouble() ReadDouble() ReadDouble()

Legge un valore a virgola mobile a 8 byte dal flusso corrente e sposta in avanti di otto byte la posizione corrente del flusso.Reads an 8-byte floating point value from the current stream and advances the current position of the stream by eight bytes.

ReadInt16() ReadInt16() ReadInt16() ReadInt16()

Legge un intero con segno a 2 byte dal flusso corrente e sposta in avanti di 2 byte la posizione corrente del flusso.Reads a 2-byte signed integer from the current stream and advances the current position of the stream by two bytes.

ReadInt32() ReadInt32() ReadInt32() ReadInt32()

Legge un intero con segno a 4 byte dal flusso corrente e sposta in avanti di quattro byte la posizione corrente del flusso.Reads a 4-byte signed integer from the current stream and advances the current position of the stream by four bytes.

ReadInt64() ReadInt64() ReadInt64() ReadInt64()

Legge un intero con segno a 8 byte dal flusso corrente e sposta in avanti di 8 byte la posizione del flusso.Reads an 8-byte signed integer from the current stream and advances the current position of the stream by eight bytes.

ReadSByte() ReadSByte() ReadSByte() ReadSByte()

Legge un byte con segno dal flusso corrente e sposta in avanti di un byte la posizione corrente del flusso.Reads a signed byte from this stream and advances the current position of the stream by one byte.

ReadSingle() ReadSingle() ReadSingle() ReadSingle()

Legge un valore a virgola mobile a 4 byte dal flusso corrente e sposta in avanti di quattro byte la posizione corrente del flusso.Reads a 4-byte floating point value from the current stream and advances the current position of the stream by four bytes.

ReadString() ReadString() ReadString() ReadString()

Legge una stringa dal flusso corrente.Reads a string from the current stream. La stringa ha un prefisso di lunghezza e viene codificata come intero, 7 bit alla volta.The string is prefixed with the length, encoded as an integer seven bits at a time.

ReadUInt16() ReadUInt16() ReadUInt16() ReadUInt16()

Legge un intero senza segno a 2 byte dal flusso corrente usando la codifica little-endian e sposta in avanti di due byte la posizione del flusso.Reads a 2-byte unsigned integer from the current stream using little-endian encoding and advances the position of the stream by two bytes.

ReadUInt32() ReadUInt32() ReadUInt32() ReadUInt32()

Legge un intero senza segno a 4 byte dal flusso corrente e sposta in avanti di quattro byte la posizione del flusso.Reads a 4-byte unsigned integer from the current stream and advances the position of the stream by four bytes.

ReadUInt64() ReadUInt64() ReadUInt64() ReadUInt64()

Legge un intero senza segno a 8 byte dal flusso corrente e sposta in avanti di otto byte la posizione del flusso.Reads an 8-byte unsigned integer from the current stream and advances the position of the stream by eight bytes.

ToString() ToString() ToString() ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Inherited from Object)

Implementazioni dell'interfaccia esplicita

IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose()

Rilascia tutte le risorse usate da BinaryReader.Releases all resources used by the BinaryReader.

Si applica a

Vedi anche