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

  作 者 : 甘冀平

   现在已经有了一些用户信息保存在文件中,就像一个简单的数据库。假设有一个用户想了解所有的访问者,就要从登

  记的信息中分离出相关部分,因为没有象数据库一样拥有结构化的列。

   我们知道,在所创建的文件中,第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'

   所以,一定要添加一些错误处理代码,以防文件中插入了多余的行或者少了必要的行信息。