SqlClient.SqlDataReader
从指定的列偏移量将字节流读入缓冲区,并将其作为从给定的缓冲区偏移量开始的数组。
[C#]
public virtual long GetBytes(
int i,
long dataIndex,
byte[] buffer,
int bufferIndex,
int length
);
参数
-
i
- 从零开始的列序号。 此处为索要读取字段在SqlDataReader 中所处的位置。 dataIndex
- 字段中的索引,从其开始读取操作。 读取字节的起始位置。 buffer
- 要将字节流读入的缓冲区。 从字段中读出字节所要存放的缓冲区。 bufferIndex
- 开始读取操作的 buffer 的索引。 从字段中读出的字节将要在缓冲区中存放的起始位置。 length
- 要复制到缓冲区中的最大长度。 即:读取字节的最大长度。
返回值
读取的实际字节数。
实现
备注
GetBytes 返回字段中的可用字节数。大多数情况下,它是字段的确切长度。但是,如果 GetBytes 已用于从字段中获取字节,则所返回的数字可能会小于该字段的真实长度。例如,如果 SqlDataReader 正在将一个大型数据结构读入缓冲区,则可能出现这种情况。有关更多信息,请参见 CommandBehavior 的 SequentialAccess 设置。
如果传递为空引用(Visual Basic 中为 Nothing)的缓冲区,则 GetBytes 以字节为单位返回字段的长度。
不执行任何转换,因此所检索的数据必须已经是字节数组。
FileStream
使用 FileStream 类对文件系统上的文件进行读取、写入、打开和关闭操作,并对其他与文件相关的操作系统句柄进行操作,如管道、标准输入和标准输出。读写操作可以指定为同步或异步操作。FileStream 对输入输出进行缓冲,从而提高性能。
BinaryWriter
以二进制形式将基元类型写入流,并支持用特定的编码写入字符串。
公共属性:
BaseStream | 获取 BinaryWriter 的基础流。 |
公共方法:
Flush 清理当前编写器的所有缓冲区,使所有缓冲数据写入基础设备。
Seek 设置当前流中的位置。
Write 已重载。将值写入当前流。