- 深入解析ASP核心技術(shù)
- 王洪影
- 7字
- 2019-01-03 18:15:55
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)存 %>
代碼不多,看注釋就可以懂了。
- 基于Proteus的Arduino可視化設(shè)計
- Android平板電腦開發(fā)實戰(zhàn)詳解和典型案例
- GitLab CI/CD 從入門到實戰(zhàn)
- SpringBoot揭秘:快速構(gòu)建微服務(wù)體系
- Spring開發(fā)者的Quarkus實戰(zhàn)
- UML基礎(chǔ)與Rose建模案例(第3版)
- 建筑運維智慧管控平臺設(shè)計與實現(xiàn)
- 軟件架構(gòu)的藝術(shù)
- 鳳凰項目:一個IT運維的傳奇故事
- 鋒利的jQuery
- 軟件自動化測試成功之道:典型工具、腳本開發(fā)、測試框架和項目實戰(zhàn)
- Bootstrap實戰(zhàn)
- 移動設(shè)計
- 云原生測試實戰(zhàn)
- 微信公眾平臺開發(fā)實例教程