深圳升蓝软件
数据库开发 .Net技术  |  ASP技术 PHP技术 JSP技术 应用技术类   
Hiblue Software

ASP中FSO的神奇功能 - 文件读取


March 25,2004
作 者 : 甘冀平

   现在已经有了一些用户信息保存在文件中,就像一个简单的数据库。假设有一个用户想了解所有的访问者,就要从登
记的信息中分离出相关部分,因为没有象数据库一样拥有结构化的列。

   我们知道,在所创建的文件中,第1行是用户名,第2行是他们的主页,第3行是他们的电子邮件地址。随后登记的用
户也是按照这样的结构存储他们的信息,所以每3行将包含一个用户的登记信息。知道了这些,就可以编写下面的代码来显
示信息:

< %
' create the fso object
set fso = Server.Createobject("Scripting.FileSystemObject")
path = "c:    emp    est.txt"

' open the file
set file = fso.opentextfile(path, 1)  < -- For
reading

   接着,分析每一行,并且格式化数据:

do until file.AtEndOfStream
        Response.write("Name: " & file.ReadLine & " ")
        Response.write("Home Page: " & file.ReadLine & " ")
        Response.write("Email: " & file.ReadLine & "< p>")
loop

' close and clean up
file.close
set file = nothing
set fso = nothing
%>

   这里仅仅做了一个非常简单的输出,但是你可以根据情况包含表格或者DHTML表单信息。

   如果已经正确地建立并写入了文件,上面的小小循环将合适地列出数据库中的每一个人的信息。ReadLine方法读取1
行内容,直到遇到换行符,随后的ReadLine调用将读取下一行。AtEndOfStream是TextStream对象的属性,它告诉我们何时
遇到文件的尾部。

   假设由于某种原因,我们没有正确地形成文件,如果一个用户只有2行信息而不是3行,那么就会产生一些错误。我们
这里的循环取回文件中的下3行信息,如果没有3行多的信息,就将出现如下的错误信息:

   Server object error 'ASP 0177 : 800a003e'

   所以,一定要添加一些错误处理代码,以防文件中插入了多余的行或者少了必要的行信息。
Copyright © 2001-2008 Shenzhen Hiblue Software Team All rights reserved