官术网_书友最值得收藏!

2.3 Stream對象的使用

2.3.1 簡介

Adodb.Stream是用來處理文本或二進(jìn)制數(shù)據(jù)的對象,是處理數(shù)據(jù)流、轉(zhuǎn)換編碼的利器。

Adodb.Stream對象相當(dāng)于一個臨時的存儲區(qū)域,將數(shù)據(jù)寫入,進(jìn)行處理,然后將數(shù)據(jù)讀出。簡單來說,就是一個進(jìn)和出的過程,如圖2-12所示。

圖2-12 數(shù)據(jù)進(jìn)出Stream對象

(1)對象的創(chuàng)建

創(chuàng)建Stream對象使用以下語句即可:

Set stream = Server.CreateObject("ADODB.Stream")

(2)數(shù)據(jù)類型

Stream對象可以處理二進(jìn)制數(shù)據(jù)或文本數(shù)據(jù),當(dāng)前的數(shù)據(jù)類型,或者說處理方式,是通過Type屬性來聲明的,它的可選值如表2-7所示。

表2-7 Type屬性可選值

當(dāng)處理方式為二進(jìn)制數(shù)據(jù)時,Stream對象以字節(jié)為單位處理數(shù)據(jù),否則以字符為單位。處理方式并不是一成不變的,可以動態(tài)地改變它。我們可以先以二進(jìn)制方式寫入數(shù)據(jù),然后變更Type屬性為2,以文本方式來處理,反之亦可。但是,需要提醒一下,只有指針指向位置0的時候,才可以變更Type屬性。

(3)對象的打開與關(guān)閉

剛創(chuàng)建完的Stream對象是關(guān)閉的,而寫入數(shù)據(jù)、讀取數(shù)據(jù)等操作都要求Stream對象是打開的。打開對象使用Open方法,雖然它有幾個可選參數(shù),但實際應(yīng)用中很少用到,所以不再介紹。

關(guān)閉對象使用Close方法,沒有參數(shù)。一個對象關(guān)閉后,可以再次打開,重復(fù)使用。

下面看一個簡單的例子,熟悉一下寫法。

StreamExample.asp

<%
Dim stream
Set stream = Server.CreateObject("ADODB.Stream")     '建立Stream對象
stream.Type = 2                      '文本方式
stream.Charset = "GBK"               '字符集為GBK
stream.Open                          '打開Stream對象
stream.WriteText "哈哈"               '寫入數(shù)據(jù)
stream.Position=0                    '指針移動到位置0
response.write stream.ReadText       '讀取所有文本
stream.close                         '關(guān)閉Stream對象
Set stream = nothing                 '釋放內(nèi)存
%>

代碼不多,看注釋就可以懂了。

主站蜘蛛池模板: 汶上县| 渝中区| 红河县| 绵阳市| 香格里拉县| 定兴县| 泊头市| 临西县| 金乡县| 简阳市| 施甸县| 蒲城县| 永寿县| 宜都市| 馆陶县| 安塞县| 永丰县| 铜山县| 英吉沙县| 浦北县| 长岭县| 武冈市| 锡林浩特市| 本溪| 叙永县| 阳原县| 绵竹市| 双柏县| 阜宁县| 南华县| 新巴尔虎右旗| 托克逊县| 禹州市| 汽车| 嫩江县| 聊城市| 威海市| 奉节县| 玛曲县| 东光县| 侯马市|