BinaryWriter クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
バイナリのプリミティブ型をストリームに書き込み、特定のエンコードでの文字列の書き込みをサポートします。
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
- 継承
-
BinaryWriter
- 属性
- 実装
例
次のコード例は、アプリケーション設定をファイルに格納および取得する方法を示しています。
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
注釈
BinaryWriter クラスは、ストリームへのプリミティブ データ型の書き込みを簡略化するメソッドを提供します。 たとえば、Write メソッドを使用して、ブール値を 1 バイト値としてストリームに書き込むことができます。 このクラスには、さまざまなデータ型をサポートする書き込みメソッドが含まれています。
BinaryWriter クラスの新しいインスタンスを作成するときは、書き込むストリームを指定し、必要に応じてエンコードの種類と、BinaryWriter オブジェクトを破棄した後でストリームを開いたままにするかどうかを指定します。 エンコードの種類を指定しない場合は、UTF-8 が使用されます。
大事な
この型は、IDisposable インターフェイスを実装します。 型の使用が完了したら、直接または間接的に破棄する必要があります。 型を直接破棄するには、try
/catch
ブロックでその Dispose メソッドを呼び出します。 間接的に破棄するには、using
(C#) や Using
(Visual Basic) などの言語コンストラクトを使用します。 詳細については、「IDisposable インターフェイス」トピックの「IDisposable を実装するオブジェクトの使用」セクションを参照してください。
派生クラスは、このクラスのメソッドをオーバーライドして、一意の文字エンコーディングを提供できます。
コンストラクター
BinaryWriter() |
ストリームに書き込む BinaryWriter クラスの新しいインスタンスを初期化します。 |
BinaryWriter(Stream) |
指定したストリームに基づいて UTF-8 エンコードを使用して、BinaryWriter クラスの新しいインスタンスを初期化します。 |
BinaryWriter(Stream, Encoding) |
指定したストリームと文字エンコードに基づいて、BinaryWriter クラスの新しいインスタンスを初期化します。 |
BinaryWriter(Stream, Encoding, Boolean) |
指定したストリームと文字エンコードに基づいて BinaryWriter クラスの新しいインスタンスを初期化し、必要に応じてストリームを開いたままにします。 |
フィールド
Null |
バッキング ストアのない BinaryWriter を指定します。 |
OutStream |
基になるストリームを保持します。 |
プロパティ
BaseStream |
BinaryWriterの基になるストリームを取得します。 |
メソッド
Close() |
現在の BinaryWriter と基になるストリームを閉じます。 |
Dispose() |
BinaryWriter クラスの現在のインスタンスで使用されているすべてのリソースを解放します。 |
Dispose(Boolean) |
BinaryWriter によって使用されるアンマネージ リソースを解放し、必要に応じてマネージド リソースを解放します。 |
DisposeAsync() |
BinaryWriter クラスの現在のインスタンスで使用されているすべてのリソースを非同期的に解放します。 |
Equals(Object) |
指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
Flush() |
現在のライターのすべてのバッファーをクリアし、バッファー内のデータを基になるデバイスに書き込みます。 |
GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
MemberwiseClone() |
現在の Objectの簡易コピーを作成します。 (継承元 Object) |
Seek(Int32, SeekOrigin) |
現在のストリーム内の位置を設定します。 |
ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
Write(Boolean) |
現在のストリームに 1 バイトの |
Write(Byte) |
現在のストリームに符号なしバイトを書き込み、ストリームの位置を 1 バイト進めます。 |
Write(Byte[]) |
基になるストリームにバイト配列を書き込みます。 |
Write(Byte[], Int32, Int32) |
バイト配列の領域を現在のストリームに書き込みます。 |
Write(Char) |
現在のストリームに Unicode 文字を書き込み、使用されている |
Write(Char[]) |
現在のストリームに文字配列を書き込み、使用されている |
Write(Char[], Int32, Int32) |
文字配列のセクションを現在のストリームに書き込み、使用されている |
Write(Decimal) |
現在のストリームに 10 進値を書き込み、ストリームの位置を 16 バイト進めます。 |
Write(Double) |
現在のストリームに 8 バイトの浮動小数点値を書き込み、ストリームの位置を 8 バイト進めます。 |
Write(Half) |
現在のストリームに 2 バイトの浮動小数点値を書き込み、ストリームの位置を 2 バイト進めます。 |
Write(Int16) |
現在のストリームに 2 バイト符号付き整数を書き込み、ストリーム位置を 2 バイト進めます。 |
Write(Int32) |
現在のストリームに 4 バイト符号付き整数を書き込み、ストリーム位置を 4 バイト進めます。 |
Write(Int64) |
現在のストリームに 8 バイト符号付き整数を書き込み、ストリーム位置を 8 バイト進めます。 |
Write(ReadOnlySpan<Byte>) |
バイトのスパンを現在のストリームに書き込みます。 |
Write(ReadOnlySpan<Char>) |
現在のストリームに文字のスパンを書き込み、使用されている |
Write(SByte) |
現在のストリームに符号付きバイトを書き込み、ストリームの位置を 1 バイト進めます。 |
Write(Single) |
現在のストリームに 4 バイトの浮動小数点値を書き込み、ストリームの位置を 4 バイト進めます。 |
Write(String) |
BinaryWriterの現在のエンコードで、このストリームに長さプレフィックス付きの文字列を書き込み、使用されるエンコードとストリームに書き込まれる特定の文字に従ってストリームの現在位置を進めます。 |
Write(UInt16) |
現在のストリームに 2 バイトの符号なし整数を書き込み、ストリームの位置を 2 バイト進めます。 |
Write(UInt32) |
現在のストリームに 4 バイトの符号なし整数を書き込み、ストリームの位置を 4 バイト進めます。 |
Write(UInt64) |
現在のストリームに 8 バイトの符号なし整数を書き込み、ストリームの位置を 8 バイト進めます。 |
Write7BitEncodedInt(Int32) |
32 ビット整数を圧縮形式で書き込みます。 |
Write7BitEncodedInt64(Int64) |
一度に 7 ビットの数値を書き出します。 |
明示的なインターフェイスの実装
IDisposable.Dispose() |
BinaryWriter によって使用されるアンマネージ リソースを解放し、必要に応じてマネージド リソースを解放します。 |
拡張メソッド
ConfigureAwait(IAsyncDisposable, Boolean) |
非同期破棄から返されるタスクの待機を実行する方法を構成します。 |
適用対象
こちらもご覧ください
- Encoding
- 方法: 新しく作成されたデータ ファイルの読み取りと書き込み
- ファイルおよびストリーム I/O
- 方法: ファイル からテキストを読み取る
- 方法: ファイル にテキストを書き込む
.NET