asp下用ADODB.Stream代替FSO讀取文本文件
更新時(shí)間:2007年08月30日 10:20:39 作者:
在ASP中,我們常用Scripting.FileSystemObject組件來讀寫文本文件,但它有一個(gè)缺點(diǎn)是對編碼支持不足,比如我們想讀寫一個(gè)utf-8文本文件,F(xiàn)SO就很難辦到了,這時(shí)我們就需要使用Adodb.Stream組件來代替它。
'文件內(nèi)容讀取.
Function LoadFile(ByVal File)
Dim objStream
On Error Resume Next
Set objStream = Server.CreateObject("ADODB.Stream")
If Err.Number=-2147221005 Then
Response.Write "<div align='center'>非常遺憾,您的主機(jī)不支持ADODB.Stream,不能使用本程序</div>"
Err.Clear
Response.End
End If
With objStream
.Type = 2
.Mode = 3
.Open
.LoadFromFile Server.MapPath(File)
If Err.Number<>0 Then
Response.Write "<div align='center'>文件<font color='#ff0000'>"&File&"</font>無法被打開,請檢查是否存在!</font></div>"
Err.Clear
Response.End
End If
.Charset = "GB2312"
.Position = 2
LoadFile = .ReadText
.Close
End With
Set objStream = Nothing
End Function
'存儲(chǔ)內(nèi)容到文件
Sub SaveToFile(ByVal strBody,ByVal File)
Dim objStream
On Error Resume Next
Set objStream = Server.CreateObject("ADODB.Stream")
If Err.Number=-2147221005 Then
Response.Write "<div align='center'>非常遺憾,您的主機(jī)不支持ADODB.Stream,不能使用本程序</div>"
Err.Clear
Response.End
End If
With objStream
.Type = 2
.Open
.Charset = "GB2312"
.Position = objStream.Size
.WriteText = strBody
.SaveToFile Server.MapPath(File),2
.Close
End With
Set objStream = Nothing
End Sub
調(diào)用示例
<%
WriteFile "aaa.txt", "www.dbjr.com.cn", "utf-8"
Response.Write ReadFile("aaa.txt", "utf-8")
%>
復(fù)制代碼 代碼如下:
Function LoadFile(ByVal File)
Dim objStream
On Error Resume Next
Set objStream = Server.CreateObject("ADODB.Stream")
If Err.Number=-2147221005 Then
Response.Write "<div align='center'>非常遺憾,您的主機(jī)不支持ADODB.Stream,不能使用本程序</div>"
Err.Clear
Response.End
End If
With objStream
.Type = 2
.Mode = 3
.Open
.LoadFromFile Server.MapPath(File)
If Err.Number<>0 Then
Response.Write "<div align='center'>文件<font color='#ff0000'>"&File&"</font>無法被打開,請檢查是否存在!</font></div>"
Err.Clear
Response.End
End If
.Charset = "GB2312"
.Position = 2
LoadFile = .ReadText
.Close
End With
Set objStream = Nothing
End Function
'存儲(chǔ)內(nèi)容到文件
復(fù)制代碼 代碼如下:
Sub SaveToFile(ByVal strBody,ByVal File)
Dim objStream
On Error Resume Next
Set objStream = Server.CreateObject("ADODB.Stream")
If Err.Number=-2147221005 Then
Response.Write "<div align='center'>非常遺憾,您的主機(jī)不支持ADODB.Stream,不能使用本程序</div>"
Err.Clear
Response.End
End If
With objStream
.Type = 2
.Open
.Charset = "GB2312"
.Position = objStream.Size
.WriteText = strBody
.SaveToFile Server.MapPath(File),2
.Close
End With
Set objStream = Nothing
End Sub
調(diào)用示例
復(fù)制代碼 代碼如下:
<%
WriteFile "aaa.txt", "www.dbjr.com.cn", "utf-8"
Response.Write ReadFile("aaa.txt", "utf-8")
%>
相關(guān)文章
網(wǎng)站生成靜態(tài)頁面攻略4:防采集而不防搜索引擎策略
網(wǎng)站生成靜態(tài)頁面攻略4:防采集而不防搜索引擎策略...2006-08-08網(wǎng)站生成靜態(tài)頁面,及網(wǎng)站數(shù)據(jù)采集的攻、防原理和策略
網(wǎng)站生成靜態(tài)頁面,及網(wǎng)站數(shù)據(jù)采集的攻、防原理和策略...2006-09-09使用xmlHttp結(jié)合ASP實(shí)現(xiàn)網(wǎng)頁的異步調(diào)用
使用xmlHttp結(jié)合ASP實(shí)現(xiàn)網(wǎng)頁的異步調(diào)用...2006-06-06