上QQ阅读APP看书,第一时间看更新
2.3 Stream对象的使用
2.3.1 简介
Adodb.Stream是用来处理文本或二进制数据的对象,是处理数据流、转换编码的利器。
Adodb.Stream对象相当于一个临时的存储区域,将数据写入,进行处理,然后将数据读出。简单来说,就是一个进和出的过程,如图2-12所示。
图2-12 数据进出Stream对象
(1)对象的创建
创建Stream对象使用以下语句即可:
Set stream = Server.CreateObject("ADODB.Stream")
(2)数据类型
Stream对象可以处理二进制数据或文本数据,当前的数据类型,或者说处理方式,是通过Type属性来声明的,它的可选值如表2-7所示。
表2-7 Type属性可选值
当处理方式为二进制数据时,Stream对象以字节为单位处理数据,否则以字符为单位。处理方式并不是一成不变的,可以动态地改变它。我们可以先以二进制方式写入数据,然后变更Type属性为2,以文本方式来处理,反之亦可。但是,需要提醒一下,只有指针指向位置0的时候,才可以变更Type属性。
(3)对象的打开与关闭
刚创建完的Stream对象是关闭的,而写入数据、读取数据等操作都要求Stream对象是打开的。打开对象使用Open方法,虽然它有几个可选参数,但实际应用中很少用到,所以不再介绍。
关闭对象使用Close方法,没有参数。一个对象关闭后,可以再次打开,重复使用。
下面看一个简单的例子,熟悉一下写法。
StreamExample.asp
<% Dim stream Set stream = Server.CreateObject("ADODB.Stream") '建立Stream对象 stream.Type = 2 '文本方式 stream.Charset = "GBK" '字符集为GBK stream.Open '打开Stream对象 stream.WriteText "哈哈" '写入数据 stream.Position=0 '指针移动到位置0 response.write stream.ReadText '读取所有文本 stream.close '关闭Stream对象 Set stream = nothing '释放内存 %>
代码不多,看注释就可以懂了。