深入解析ASP核心技术
上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                 '释放内存
%>

代码不多,看注释就可以懂了。