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()方法,表示,一次性把文本文件中的所有的内容都读出来,这时候当然就不需要循环了,大家可以自己写写看。

发表评论