ASP中FSO的神奇功能 - 文件读取
发表于:2007-06-30来源:作者:点击数:
标签:
作 者 : 甘冀平 现在已经有了一些用户信息保存在文件中,就像一个简单的 数据库 。假设有一个用户想了解所有的访问者,就要从登 记的信息中分离出相关部分,因为没有象数据库一样拥有结构化的列。 我们知道,在所创建的文件中,第1行是用户名,第2行是他们的
作 者 : 甘冀平
现在已经有了一些用户信息保存在文件中,就像一个简单的
数据库。假设有一个用户想了解所有的访问者,就要从登
记的信息中分离出相关部分,因为没有象数据库一样拥有结构化的列。
我们知道,在所创建的文件中,第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@#
所以,一定要添加一些错误处理代码,以防文件中插入了多余的行或者少了必要的行信息。
原文转自:http://www.ltesting.net