c#操作二进制文件

BinaryReader 类

用特定的编码将基元数据类型读作二进制值。命名空间:System.IO;程序集:System.Runtime.dll

public class BinaryReader : IDisposable

BinaryReader类提供简化从流中读取基元数据类型的方法。 例如,可以使用 ReadBoolean 方法将下一个字节作为布尔值读取,并将流中的当前位置提升一个字节。 类包含支持不同数据类型的 read 方法。

构造函数

构造函数
BinaryReader(Stream)

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

BinaryReader(Stream, Encoding)

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

BinaryReader(Stream, Encoding, Boolean)

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

在创建类的新实例时 BinaryReader ,提供从中读取的流,还可以选择指定编码的类型以及是否在释放对象后保持流处于打开状态 BinaryReader 。 如果未指定编码类型,将使用 UTF-8。

属性

属性
BaseStream

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

与 BinaryReader 关联的基础流。提供了以下方法:

 bool CanRead、bool CanSeek、bool CanTimeout、bool CanWrite、long Length(文件的长度)、long Position(读取文件的当前指针位置)、int ReadTimeout、int WriteTimeout

注意:在读取或使用时使用基础流 BinaryReader 可能会导致数据丢失和损坏。 例如,可能会多次读取相同的字节,可能会跳过字节或字符读取。

方法

方法
Close()

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

Dispose()

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

Dispose(Boolean)

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

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
FillBuffer(Int32)

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

GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
PeekChar()

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

Read()

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

Read(Byte[], Int32, Int32)

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

Read(Char[], Int32, Int32)

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

Read(Span<Byte>)

从当前流读取字节序列,并将流中的位置向前移动读取的字节数。

Read(Span<Char>)

从当前流中读取与提供的缓冲区长度相同的字符数,将其写入提供的缓冲区,然后根据所使用的 Encoding 和从流中读取的特定字符,将当前位置前移。

Read7BitEncodedInt()

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

Read7BitEncodedInt64()

一次读取一个 7 位数字。

ReadBoolean()

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

ReadByte()

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

ReadBytes(Int32)

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

ReadChar()

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

ReadChars(Int32)

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

ReadDecimal()

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

ReadDouble()

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

ReadInt16()

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

ReadInt32()

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

ReadInt64()

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

ReadSByte()

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

ReadSingle()

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

ReadString()

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

ReadUInt16()

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

ReadUInt32()

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

ReadUInt64()

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

ToString()

返回表示当前对象的字符串。

(继承自 Object)

参考文档:BinaryReader 类 (System.IO) | Microsoft Docs

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C是一种多用途、高级编程语言。它最初由丹尼斯·里奇开发,并在1972年开始使用。C语言是一种结构化的编程语言,被广泛应用于系统软件的开发,如操作系统和编译器的编。它也可以用于开发应用程序和游戏。 C语言具有简洁、高效、可移植和可移植性好的特点。它的语法规则简单直观,易学易懂。C语言支持模块化的程序设计,可以将程序划分为多个函数,提高代码重用性和可维护性。它还提供了丰富的基本数据类型和运算符,逻辑控制结构,如条件语句和循环语句,以及指针和数组等高级特性。 C语言的应用广泛。许多重要的计算机系统软件,如UNIX操作系统和Linux内核,都是用C语言编的。C语言也是很多程序员入门的第一门编程语言,因为学习C语言可以培养良好的编程思维和习惯。此外,C语言还是其他编程语言的基础,如C++、Java和Python等。 虽然C语言很强大,但也存在一些不足之处。例如,C语言对于字符串的处理相对复杂,没有直接支持的字符串类型。此外,C语言的指针操作容易出错,对于初学者来说较为困难。 总的来说,C语言是一种重要的编程语言,具有广泛的应用领域和强大的功能。它不仅可以用于系统软件的开发,还可以用于各种应用程序和游戏的编。C语言的学习和掌握对于想要成为一名优秀的程序员来说是必不可少的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值