本文由机器翻译。若要查看英语原文,请勾选“英语”复选框。 也可将鼠标指针移到文本上,在弹出窗口中显示英语原文。
翻译
英语

BinaryWriter 类

 

将二进制中的基元类型写入流并支持用特定的编码写入字符串。

命名空间:   System.IO
程序集:  mscorlib(位于 mscorlib.dll)

System.Object
  System.IO.BinaryWriter

[SerializableAttribute]
[ComVisibleAttribute(true)]
public class BinaryWriter : IDisposable

名称说明
System_CAPS_protmethodBinaryWriter()

新实例初始化 BinaryWriter 写入流的类。

System_CAPS_pubmethodBinaryWriter(Stream)

基于所指定的流和特定的 UTF-8 编码,初始化 BinaryWriter 类的新实例。

System_CAPS_pubmethodBinaryWriter(Stream, Encoding)

基于所指定的流和特定的字符编码,初始化 BinaryWriter 类的新实例。

System_CAPS_pubmethodBinaryWriter(Stream, Encoding, Boolean)

基于所提供的流和特定的字符编码,初始化 BinaryWriter 类的新实例,有选择性的打开流。

名称说明
System_CAPS_pubpropertyBaseStream

获取基础流的 BinaryWriter

名称说明
System_CAPS_pubmethodClose()

关闭当前 BinaryWriter 和基础流。

System_CAPS_pubmethodDispose()

释放 BinaryWriter 类的当前实例所使用的所有资源。

System_CAPS_protmethodDispose(Boolean)

释放由 BinaryWriter 占用的非托管资源,还可以另外再释放托管资源。

System_CAPS_pubmethodEquals(Object)

确定指定的对象是否等于当前对象。(继承自 Object。)

System_CAPS_protmethodFinalize()

在垃圾回收将某一对象回收前允许该对象尝试释放资源并执行其他清理操作。(继承自 Object。)

System_CAPS_pubmethodFlush()

清理当前编写器的所有缓冲区,使所有缓冲数据写入基础设备。

System_CAPS_pubmethodGetHashCode()

作为默认哈希函数。(继承自 Object。)

System_CAPS_pubmethodGetType()

获取当前实例的 Type(继承自 Object。)

System_CAPS_protmethodMemberwiseClone()

创建当前 Object 的浅表副本。(继承自 Object。)

System_CAPS_pubmethodSeek(Int32, SeekOrigin)

设置当前流中的位置。

System_CAPS_pubmethodToString()

返回表示当前对象的字符串。(继承自 Object。)

System_CAPS_pubmethodWrite(Boolean)

将一个字节 Boolean 值写入当前流,其中 0 表示 false ,1 表示 true

System_CAPS_pubmethodWrite(Byte)

无符号的字节写入当前流并将流的位置前移一个字节。

System_CAPS_pubmethodWrite(Byte[])

将写入基础流的字节数组。

System_CAPS_pubmethodWrite(Byte[], Int32, Int32)

将写入当前流的字节数组的区域。

System_CAPS_pubmethodWrite(Char)

一个 Unicode 字符写入当前流,并根据所使用的流的当前位置 Encoding 使用和的特定字符写入到流。

System_CAPS_pubmethodWrite(Char[])

字符数组写入当前流,并根据流的当前位置向前移动Encoding使用和的特定字符写入到流。

System_CAPS_pubmethodWrite(Char[], Int32, Int32)

将字符数组中的一部分写入到当前流,并根据所使用的流的当前位置 Encoding 使用并且可能的特定字符写入到流。

System_CAPS_pubmethodWrite(Decimal)

将十进制值写入当前流并将流的位置提升十六个字节。

System_CAPS_pubmethodWrite(Double)

8 字节浮点值写入当前流,并将流的位置提升 8 个字节。

System_CAPS_pubmethodWrite(Int16)

双字节有符号的整数写入当前流,并将流的位置提升 2 个字节。

System_CAPS_pubmethodWrite(Int32)

四字节有符号的整数写入当前流,并将流的位置提升 4 个字节。

System_CAPS_pubmethodWrite(Int64)

8 字节有符号的整数写入当前流,并将流的位置提升 8 个字节。

System_CAPS_pubmethodWrite(SByte)

一个有符号的字节写入当前流并将流的位置前移一个字节。

System_CAPS_pubmethodWrite(Single)

4 字节浮点值写入当前流,并将流的位置提升 4 个字节。

System_CAPS_pubmethodWrite(String)

将长度前缀的字符串写入此流的当前编码的 BinaryWriter, ,并根据所使用的编码的流和特定的字符写入到流的当前位置向前移动。

System_CAPS_pubmethodWrite(UInt16)

双字节无符号的整数写入当前流,并将流的位置提升 2 个字节。

System_CAPS_pubmethodWrite(UInt32)

将 4 字节无符号的整数写入到当前流并将流的位置提升 4 个字节。

System_CAPS_pubmethodWrite(UInt64)

八字节无符号的整数写入当前流,并将流的位置提升 8 个字节。

System_CAPS_protmethodWrite7BitEncodedInt(Int32)

以压缩格式写入 32 位整数。

名称说明
System_CAPS_pubfieldSystem_CAPS_staticNull

指定 BinaryWriter 无后备存储区。

System_CAPS_protfieldOutStream

包含基础流。

BinaryWriter 类提供了简化向流写入基元数据类型的方法。 例如,您可以使用 Write 方法将写入到流作为一个字节值的布尔值。 此类包括支持不同的数据类型的写入方法。

当您创建的新实例 BinaryWriter 类,提供要写入的流和 (可选) 指定的编码类型以及是释放后是否保持流处于打开 BinaryWriter 对象。 如果未指定编码类型,则使用 utf-8。

System_CAPS_important重要事项

此类型实现 IDisposable 接口。 在使用完类型后,您应直接或间接释放类型。 若要直接释放类型,请在 Dispose/try 块中调用其 catch 方法。 若要间接释放类型,请使用 using(在 C# 中)或 Using(在 Visual Basic 中)等语言构造。 有关详细信息,请参阅 IDisposable 接口主题中的“使用实现 IDisposable 的对象”一节。

派生的类可以重写此类,以提供唯一的字符编码的方法。

下面的代码示例演示如何存储和检索应用程序设置文件中。

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);
        }
    }
}

通用 Windows 平台
自 8 起可用
.NET Framework
自 1.1 起可用
可移植类库
可移植 .NET 平台 中受支持
Silverlight
自 2.0 起可用
Windows Phone Silverlight
自 7.0 起可用
Windows Phone
自 8.1 起可用

此类型的所有公共静态(Visual Basic 中的 已共享 在 Visual Basic 中)成员都是线程安全的。不保证所有实例成员都是线程安全的。

返回页首
显示: