BinaryWriter Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Scrive i tipi primitivi in formato binario in un flusso e supporta la scrittura delle stringhe in una codifica specifica.
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
- Ereditarietà
-
BinaryWriter
- Attributi
- Implementazioni
Esempio
Nell'esempio di codice seguente viene illustrato come archiviare e recuperare le impostazioni dell'applicazione in un file.
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
Commenti
La BinaryWriter classe fornisce metodi che semplificano la scrittura di tipi di dati primitivi in un flusso. Ad esempio, è possibile usare il Write metodo per scrivere un valore booleano nel flusso come valore a un byte. La classe include metodi di scrittura che supportano tipi di dati diversi.
Quando si crea una nuova istanza della BinaryWriter classe , specificare il flusso in cui scrivere e, facoltativamente, specificare il tipo di codifica e se lasciare aperto il flusso dopo aver sponi l'oggetto BinaryWriter . Se non si specifica un tipo di codifica, viene usato UTF-8.
Importante
Il tipo implementa l'interfaccia IDisposable. Dopo aver utilizzato il tipo, è necessario eliminarlo direttamente o indirettamente. Per eliminare direttamente il tipo, chiamare il metodo Dispose in un blocco try
/catch
. Per eliminarlo indirettamente, utilizzare un costrutto di linguaggio come ad esempio using
in C# o Using
in Visual Basic. Per altre informazioni, vedere la sezione "Uso di un oggetto che implementa IDisposable" nell'argomento relativo all'interfaccia IDisposable.
Una classe derivata può eseguire l'override dei metodi di questa classe per fornire codifiche di caratteri univoche.
Costruttori
BinaryWriter() |
Inizializza una nuova istanza della classe BinaryWriter che scrive in un flusso. |
BinaryWriter(Stream) |
Inizializza una nuova istanza della classe BinaryWriter in base al flusso specificato e usando la codifica UTF-8. |
BinaryWriter(Stream, Encoding) |
Inizializza una nuova istanza della classe BinaryWriter in base alla codifica dei caratteri e del flusso specificata. |
BinaryWriter(Stream, Encoding, Boolean) |
Inizializza una nuova istanza della classe BinaryWriter in base alla codifica dei caratteri e di flusso specificati. Facoltativamente mantiene aperto il flusso. |
Campi
Null |
Specifica un oggetto BinaryWriter privo di archivio di backup. |
OutStream |
Contiene il flusso sottostante. |
Proprietà
BaseStream |
Ottiene il flusso sottostante dell'oggetto BinaryWriter. |
Metodi
Close() |
Chiude l'oggetto BinaryWriter corrente e il flusso sottostante. |
Dispose() |
Rilascia tutte le risorse usate dall'istanza corrente della classe BinaryWriter. |
Dispose(Boolean) |
Rilascia le risorse non gestite usate da BinaryWriter e, facoltativamente, le risorse gestite. |
DisposeAsync() |
Rilascia in modo asincrono le risorse usate dall'istanza corrente della classe BinaryWriter. |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
Flush() |
Cancella i dati di tutti i buffer del writer corrente e consente la scrittura dei dati memorizzati nel buffer nel dispositivo sottostante. |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
Seek(Int32, SeekOrigin) |
Imposta la posizione all'interno del flusso corrente. |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Write(Boolean) |
Scrive un valore |
Write(Byte) |
Scrive un byte senza segno nel flusso corrente e sposta in avanti di un byte la posizione del flusso. |
Write(Byte[]) |
Scrive una matrice di byte nel flusso sottostante. |
Write(Byte[], Int32, Int32) |
Scrive un'area di una matrice di byte nel flusso corrente. |
Write(Char) |
Scrive un carattere Unicode nel flusso corrente e sposta in avanti la posizione corrente del flusso secondo il valore |
Write(Char[]) |
Scrive una matrice di caratteri nel flusso corrente e sposta in avanti la posizione corrente del flusso secondo il valore |
Write(Char[], Int32, Int32) |
Scrive una sezione di una matrice di caratteri nel flusso corrente e sposta in avanti la posizione corrente del flusso secondo il valore |
Write(Decimal) |
Scrive un valore decimale nel flusso corrente e sposta in avanti di sedici byte la posizione del flusso. |
Write(Double) |
Scrive un valore a virgola mobile a otto byte nel flusso corrente e sposta in avanti di otto byte la posizione del flusso. |
Write(Half) |
Scrive un valore a virgola mobile a due byte nel flusso corrente e sposta in avanti la posizione del flusso di due byte. |
Write(Int16) |
Scrive un intero con segno a due byte nel flusso corrente e sposta in avanti di due byte la posizione del flusso. |
Write(Int32) |
Scrive un intero con segno a quattro byte nel flusso corrente e sposta in avanti di quattro byte la posizione del flusso. |
Write(Int64) |
Scrive un intero con segno a otto byte nel flusso corrente e sposta in avanti di otto byte la posizione del flusso. |
Write(ReadOnlySpan<Byte>) |
Scrive un intervallo di byte nel flusso corrente. |
Write(ReadOnlySpan<Char>) |
Scrive un intervallo di caratteri nel flusso corrente e sposta in avanti la posizione corrente del flusso secondo il valore |
Write(SByte) |
Scrive un byte con segno nel flusso corrente e sposta in avanti di un byte la posizione del flusso. |
Write(Single) |
Scrive un valore a virgola mobile a quattro byte nel flusso corrente e sposta in avanti di quattro byte la posizione del flusso. |
Write(String) |
Scrive una stringa con prefisso di lunghezza nel flusso con la codifica corrente dell'oggetto BinaryWriter e sposta in avanti la posizione corrente del flusso secondo la codifica usata e i caratteri specifici scritti nel flusso. |
Write(UInt16) |
Scrive un intero senza segno a due byte nel flusso corrente e sposta in avanti di due byte la posizione del flusso. |
Write(UInt32) |
Scrive un intero senza segno a quattro byte nel flusso corrente e sposta in avanti di quattro byte la posizione del flusso. |
Write(UInt64) |
Scrive un intero senza segno a otto byte nel flusso corrente e sposta in avanti di otto byte la posizione del flusso. |
Write7BitEncodedInt(Int32) |
Scrive un intero a 32 bit in un formato compresso. |
Write7BitEncodedInt64(Int64) |
Scrive un numero di 7 bit alla volta. |
Implementazioni dell'interfaccia esplicita
IDisposable.Dispose() |
Rilascia le risorse non gestite usate da BinaryWriter e, facoltativamente, le risorse gestite. |
Metodi di estensione
ConfigureAwait(IAsyncDisposable, Boolean) |
Consente di configurare la modalità di esecuzione delle espressioni await per le attività restituite da un elemento disposable asincrono. |
Si applica a
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per