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

BinaryReader 类

 

用特定的编码将基元数据类型读作二进制值。

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

System.Object
  System.IO.BinaryReader

[ComVisibleAttribute(true)]
public class BinaryReader : IDisposable

名称说明
System_CAPS_pubmethodBinaryReader(Stream)

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

System_CAPS_pubmethodBinaryReader(Stream, Encoding)

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

System_CAPS_pubmethodBinaryReader(Stream, Encoding, Boolean)

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

名称说明
System_CAPS_pubpropertyBaseStream

公开对 BinaryReader 的基础流的访问。

名称说明
System_CAPS_pubmethodClose()

关闭当前阅读器及基础流。

System_CAPS_pubmethodDispose()

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

System_CAPS_protmethodDispose(Boolean)

释放 BinaryReader 类使用的非托管资源,并可以选择释放托管资源。

System_CAPS_pubmethodEquals(Object)

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

System_CAPS_protmethodFillBuffer(Int32)

用从流中读取的指定字节数填充内部缓冲区。

System_CAPS_protmethodFinalize()

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

System_CAPS_pubmethodGetHashCode()

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

System_CAPS_pubmethodGetType()

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

System_CAPS_protmethodMemberwiseClone()

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

System_CAPS_pubmethodPeekChar()

返回下一个可用的字符,并且不提升字节或字符的位置。

System_CAPS_pubmethodRead()

从基础流中读取字符,并根据所使用的 Encoding 和从流中读取的特定字符,提升流的当前位置。

System_CAPS_pubmethodRead(Byte[], Int32, Int32)

从字节数组中的指定点开始,从流中读取指定的字节数。

System_CAPS_pubmethodRead(Char[], Int32, Int32)

从字符数组中的指定点开始,从流中读取指定的字符数。

System_CAPS_protmethodRead7BitEncodedInt()

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

System_CAPS_pubmethodReadBoolean()

从当前流中读取 Boolean 值,并使该流的当前位置提升 1 个字节。

System_CAPS_pubmethodReadByte()

从当前流中读取下一个字节,并使流的当前位置提升 1 个字节。

System_CAPS_pubmethodReadBytes(Int32)

从当前流中读取指定的字节数以写入字节数组中,并将当前位置前移相应的字节数。

System_CAPS_pubmethodReadChar()

从当前流中读取下一个字符,并根据所使用的 Encoding 和从流中读取的特定字符,提升流的当前位置。

System_CAPS_pubmethodReadChars(Int32)

从当前流中读取指定的字符数,并以字符数组的形式返回数据,然后根据所使用的 Encoding 和从流中读取的特定字符,将当前位置前移。

System_CAPS_pubmethodReadDecimal()

从当前流中读取十进制数值,并将该流的当前位置提升十六个字节。

System_CAPS_pubmethodReadDouble()

从当前流中读取 8 字节浮点值,并使流的当前位置提升 8 个字节。

System_CAPS_pubmethodReadInt16()

从当前流中读取 2 字节有符号整数,并使流的当前位置提升 2 个字节。

System_CAPS_pubmethodReadInt32()

从当前流中读取 4 字节有符号整数,并使流的当前位置提升 4 个字节。

System_CAPS_pubmethodReadInt64()

从当前流中读取 8 字节有符号整数,并使流的当前位置提升 8 个字节。

System_CAPS_pubmethodReadSByte()

从此流中读取 1 个有符号字节,并使流的当前位置提升 1 个字节。

System_CAPS_pubmethodReadSingle()

从当前流中读取 4 字节浮点值,并使流的当前位置提升 4 个字节。

System_CAPS_pubmethodReadString()

从当前流中读取一个字符串。 字符串有长度前缀,一次 7 位地被编码为整数。

System_CAPS_pubmethodReadUInt16()

使用 Little-Endian 编码从当前流中读取 2 字节无符号整数,并将流的位置提升 2 个字节。

System_CAPS_pubmethodReadUInt32()

从当前流中读取 4 字节无符号整数并使流的当前位置提升 4 个字节。

System_CAPS_pubmethodReadUInt64()

从当前流中读取 8 字节无符号整数并使流的当前位置提升 8 个字节。

System_CAPS_pubmethodToString()

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

The T:System.IO.BinaryReader class provides methods that simplify reading primitive data types from a stream. For example, you can use the M:System.IO.BinaryReader.ReadBoolean method to read the next byte as a Boolean value and advance the current position in the stream by one byte. The class includes read methods that support different data types.

When you create a new instance of the T:System.IO.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 T:System.IO.BinaryReader object. If you do not specify an encoding type, UTF-8 is used.

System_CAPS_important重要事项

This type implements the T:System.IDisposable interface. When you have finished using the type, you should dispose of it either directly or indirectly. To dispose of the type directly, call its M:System.IDisposable.Dispose method in a try/catch block. To dispose of it indirectly, use a language construct such as using (in C#) or Using (in Visual Basic). For more information, see the “Using an Object that Implements IDisposable” section in the T:System.IDisposable interface topic.

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

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

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

返回页首
显示: