服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服务器之家 - 编程语言 - ASP教程 - asp下用ADODB.Stream代替FSO读取文本文件

asp下用ADODB.Stream代替FSO读取文本文件

2019-10-10 10:41asp代码网 ASP教程

在ASP中,我们常用Scripting.FileSystemObject组件来读写文本文件,但它有一个缺点是对编码支持不足,比如我们想读写一个utf-8文本文件,FSO就很难办到了,这时我们就需要使用Adodb.Stream组件来代替它。

'文件内容读取. 

复制代码代码如下:


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'>非常遗憾,您的主机不支持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 


'存储内容到文件 

复制代码代码如下:


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'>非常遗憾,您的主机不支持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 


调用示例 

复制代码代码如下:


<% 
WriteFile "aaa.txt", "www.zzvips.com", "utf-8" 
Response.Write ReadFile("aaa.txt", "utf-8") 
%> 

延伸 · 阅读

精彩推荐