文件流对象
兼容IStream,ISequentialStream接口
创建文件流对象,返回对象可传入其他线程使用。
只写追加模式打开文件流,创建新文件保留原文件
读写追加模式打开文件流,创建新文件保留原文件
注意流对象总是以二进制模式读写,不需要添加b标记
读写模式打开文件流,文件必须存在
注意流对象总是以二进制模式读写,不需要添加b标记
只写模式打开文件流,创建新文件清空原文件
注意流对象总是以二进制模式读写,不需要添加b标记
读写模式打开文件流,创建新文件清空原文件
注意流对象总是以二进制模式读写,不需要添加b标记
直接使用指针创建对象
直接使用指针创建对象,该指针的COM引用计数减一
注意对象自身会增加COM引用计数并在释放时移除
创建内存流文件,所有参数可选
可选使用参数@3指定选项,此参数请参考库源码
关闭对象
提交更改
提交更改
兼容aardio标准流接口
for line in fsysStreamObject.lines(){
/*逐行读取数据,循环返回当前行(字符串值)。
无论是否以文本模式打开,读取数据总是移除回车符与换行符。*/
}
如果这是一个内存流,
锁定内存并返回内存指针,内存长度,
需要使用对象的unlockPointer()成员函数解锁内存
写入内存流可能导致重新分配内存,所以返回的指针可能会变动
读数据
参数指定读取长度,-1为读到尾部
参数也可以指定一个结构体用于填充读取的数据,
无参数读取一行
是否未到达文件尾。
如果已经到达文件尾返回 null,否则返回空字符串。
注意在布尔表达式工 null 等于 false,空字符串等于 true。
移到指针到文件头
读取到文件尾返回所有数据
读取数据到 buffer,
参数@1应是 buffer 对象或指针,
参数@2省略则默认为缓冲区长度。
成功返回读取长度
读取直到以指定的字符串结束
读取直到以指定的字符串结束,返回值不包含结束串,
该函数每次仅读取一个字节,效率较低
文件指针移动到开始
类似seek(0,"set"),不同的是此函数返回对象自身
撤消更改
移动至相对当前位置的指定偏移量
移动指针至结束处
移动至相对结束处的指定偏移量
移动指针到开始
移动至相对开始处的指定偏移量
得到当前位置
得到数据长度
返回流状态
返回值为STATSTG结构体
解锁内存
用lockPointer函数获取内存指针使用以后,必须调用此函数
写数据
写入数据
参数@1可使用字符串、buffer、指针、结构体等
如果指定指针就必须明确指定写入长度
buffer 写入流,
参数@1应是 buffer 对象或指针,
参数@2省略则默认为缓冲区长度
文件长度