• ASP读写文本文件

    在ASP里,有一个FSO对象,File System Object,即文件系统对象。我们可以使用它来从文本文件中读取数据,或者将信息写入文本文件中。

    定义和用法

    OpenTextFile 方法打开指定的文件,并返回可用来访问此文件的 TextStream 对象。

    语法:

    FileSystemObject.OpenTextFile(fname,mode,create,format)
    参数 描述
    fname 必需的。要打开的文件的名称。
    mode 可选的。如何打开文件。

    • 1=ForReading – 打开文件用于读取数据。您无法向此文件写数据。
    • 2=ForWriting – 打开文件用于写数据。
    • 8=ForAppending – 打开文件,并向文件的末尾写数据。
    create 可选的。设置如果文件名不存在,是否创建新文件。True 指示可创建新文件,而 False 指示新文件不会被创建。False 是默认的。
    format 可选的。文件的格式。

    • 0=TristateFalse – 以 ASCII 打开文件。默认。
    • -1=TristateTrue – 以 Unicode 打开文件。
    • -2=TristateUseDefault – 使用系统默认格式打开文件。

    先来看一段代码:

    <%
    dim fs,f
    set fs=Server.CreateObject("Scripting.FileSystemObject")
    set f=fs.OpenTextFile(Server.MapPath("testread.txt"),8,true)
    f.WriteLine("This text will be added to the end of file")
    f.Close
    set f=Nothing
    set fs=Nothing
    %>

    上面的代码展示如何将一段文字写入到一个文本文件中。 下面我们再写一段程序,用ASP把它从文本文件中读出来,且看:

    <%
    dim fs,f,t,x
    set fs=Server.CreateObject("Scripting.FileSystemObject")
    set f=fs.CreateTextFile("c:\test.txt")
    f.write("Hello World!")
    f.close
    
    set t=fs.OpenTextFile("c:\test.txt",1,false)
    x=t.ReadAll
    t.close
    Response.Write("The text in the file is: " & x)
    %>

    这里使用了逐行读取的方法,将文本文件中的内容全部读取出来,保存到一个str变量中,ASP最后把str变量输出出来了。
    还一个方法叫readAll(),用它替换readLine()方法,表示,一次性把文本文件中的所有的内容都读出来,这时候当然就不需要循环了,大家可以自己写写看。