OscarBFile

BFILE 数据类型的对外提供的公共类,帮助读写数据.

public sealed class OscarBFile : Stream, ICloneable, IDisposable

构造函数

// 参数: bfile -> OscarBFile 实例对象
public OscarBFile(OscarBFile bfile);

// 参数: conn -> OscarConnection 连接实例
// 参数: locatorStr ->  LOB大对象locator
public OscarBFile(OscarConnection conn, string locatorStr);

属性

// 获取文件名称
public string FileName { get; }

// 获取文件是否存在
public bool FileExists { get; }

// 获取文件目录
public string DirectoryName { get; }

// 获取当前大对象连接
public OscarConnection Connection { get; }

// 获取当前大对象是否可以写
public bool CanWrite { get; }

// 获取指示当前大对象是否支持查找功能的值
public bool CanSeek { get; }

// 获取当前大对象是否可读
public bool CanRead { get; }

// 获取或设置当前流中的位置
public long Position { get; set; }

// 获取当前大对象长度(以字节为单位)
public long Length { get; }

方法

// 将清除该流的所有缓冲区,并使得所有缓冲数据被写入到基础设备
public void Flush();

// 打开当前大对象流连接
// 参数: mode -> BFILE mode模式
public void Open(int mode);

// 从当前大对象读取字节序列,并将此流中的位置提升读取的字节数
// 参数: buffer ->  读写数据存放byte[]
// 参数: offset -> 偏移位置
// 参数: count -> 读取数据大小
public int Read(byte[] buffer, int offset, int count);

// 设置当前大对象中的位置
// 参数: offset -> 偏移位置
// 参数: origin -> 指定流中的位置以供查找使用
public long Seek(long offset, SeekOrigin origin);

// 设置当前流的长度
// 参数: value -> 设置当前流的长度的值
public void SetLength(long value);

// 当在派生类中重写时,向当前流中写入字节序列,并将此流中的当前位置提升写入的字节数
// 参数: buffer ->  读写数据存放byte[]
// 参数: offset -> 偏移位置
// 参数: count -> 读取数据大小
public void Write(byte[] buffer, int offset, int count);

// 释放使用的所有资源
public void Dispose();