站内搜索

如何用ASP打开本地文件?

  无论任何编程语言,如果没有提供文件存取功能,不能进行信息的存储和提取,那这种
编程语言就不能称得上是完善的,就不能得到广泛的应用,ASP 也不例外.ASP 也提供了基
本的文件读写操作功能,这是通过两个对象来实现的,FileSystemObject 是服务器文件系统
的接口,用来创建新文件或打开已存在的文件,而 TextStream 则负责完成所有的文件操作,
包括文件的写入、读出和关闭.

(一) 用 FileSystemObject 来获取文本文件对象

  1.创建一个 FileSystemObject 对象实例
要进行文件操作,首先必须创建一个 FileSystemObject 对象实例,用来创建或打
开一个文件.创建一个 FileSystemObject 对象实例的具体格式为(以AFileSystemObject)为
例:
Set AFileSystemObject = CreateObject("Scripting.FileSystemObjecct")

  2.用 FileSystemObject 来获取文本文件对象TextStream
FileSystemObject 提供了两种方法用于获取文本文件对象 TextStream,其中用于创建
文件的是 CreateTextFile,用于打开已存在文件的是 OpenTextFile,两种方法的返回结果都是
一个 TextStream 对象的实例,利用该对象可以进行文件的具体操作.
⑴ 创建一个新文件
  创建新文件的方法的具体格式为(以AFileSystemObject为例):
   AFilesystemObject.CreateTextFile(NewFileName,OverwriteExistingFile,IsUnicode)
其中:
  NewFileName 是一个string值,指定要建立的文件的名称,通常为文件的实际路径
加文件名称,如C:\webshare\aspsamp\filetest.txt
  OverwriteExistingFile 是一个Boolean值,表示如果有同名文件存在时是否覆盖
原来的文件.该参数可以省略,缺省时为False,即不覆盖原来文件.
  IsUnicode 是一个Boolean值,表示要建立的文件是ASCII文件还是Unicode文件,
该参数可以省略,缺省时为False,即为ASCII文件.


⑵ 打开已存在的文件
  打开已存在文件的方法的具体格式为(以AFileSystemObject为例):
   AFilesystemObject.OpenTextFile(FileName,IOMode,create,format)
其中:
  FileName 是一个string值,指定要打开的文件的名称,通常为文件的实际路径
加文件名称,C:\webshare\aspsamp\filetest.txt
  IOMode 是常数值,表示打开文件的目的,ForReading(1)表示用于读取数据;
ForAppending表示用于增加数据.该参数可以省略,缺省时为ForReading.
  Create 是一个Boolean值,表示要打开的文件不存在时是否创建新文件,
该参数可以省略,缺省时为False,即不创建新文件.
  Format 表示文件打开的方式.其可能的值及含义如下:
TristateTrue : 以 Unicode 的方式打开.
TristateFalse : 以 ASCII 的方式打开.
TristateUseDefault : 以系统默认的方式打开.
该参数可以省略,缺省时为 TristateFalse ,即ASCII方式.

(二).用 TextStream 进行文件操作

  在建立或打开了文件之后,就可利用对象 TextStream 提供的方法进行文件的实际操作了.
  1.用于写操作的方法有:
⑴ Write(string)
  将由string指定的字符串写入到文件中.
⑵ WriteLine(string)
  在文件中写入由string指定的字符串,并写入一个换行字符.
  参数string可以省略,此时将在文件中插入一个空行.
⑶ WriteBlankLines(NumOfLines)
  在文件中插入若干空行,行数由 NumOfLines 指定.
  2.用于读操作的方法和属性方法有:
⑴ AtEndOfLine
  该属性是一个Boolean值,表示文件指针是否已指向当前行的行尾.
⑵ AtEndOfStream
  该属性是一个Boolean值,表示文件指针是否已指向文件尾.
⑶ Column
  该属性是一个整数值,表示文件指针在当前行中的位置.
⑷ Line
  该属性是一个整数值,表示文件指针所在行的行号.
⑸ Read(NumOfCharacters)
  该方法从文件当前位置开始,读入由NumOfCharacters数目指定的若干字符,返回一个
  字符串.
⑹ ReadLine
  该方法从文件当前位置开始,读入当前行的内容直到行尾,返回一个字符串.
⑺ ReadAll
  该方法从当前位置开始,读入整个文件的内容直到文件结束,返回一个字符串.
⑻ Skip(NumOfCharacters)
  该方法从文件当前位置开始,跳过由NumOfCharacters数目指定的若干字符.
⑼ SKipLine
  该方法从文件当前位置开始,跳过当前行的内容.
  3.用于关闭文件的方法有:
⑴ Close
  关闭已经建立或打开的文件.

(三).文件操作应用实例
  在下面的例子(FileOp.asp)中,将建立一个新文件 TestFile.TXT,然后写入一些内容,再将
有着内容读出来并显示出来.

<% rem FileOp.asp %>
<html>
<head>
<title>文件操作应用</title>
</head>
<body>
<p><h3>正在写入文件C:\webshare\aspsamp\filetest.txt,请稍候...</h3>
<p><h3>写入内容为</h3>
<hr>
<pre>
ABCDEFG

HIJKLMN
OPQRST



UVWXYZ
</pre>
<%
Set AFileSystemObject = CreateObject("Scripting.FileSystemObject")
Set ATextStream = AFileSystemObject.CreateTextFile("C:\webshare\aspsamp\filetest.txt",true)
ATextStream.WriteLine("ABCDEFG")
ATextStream.WriteLine
ATextStream.WriteLine("HIJKLMN")
ATextStream.Write("OPQ")
ATextStream.WriteLine("RST")
ATextStream.WriteBlankLines(3)
ATextStream.WriteLine("UVWXYZ")
ATextStream.Close
Set ATextStream = AFileSystemObject.OpenTextFile("C:\webshare\aspsamp\filetest.txt")
%>
<br><br><hr>
<p><h3文件TestFile.TXT写入完毕,下面将列出有关内容</h3>
<hr>
<p><h3>第一行的前三个字符是(ABC):<% = ATextStream.Read(3) %></h3>
<p><h3>第一行的其余字符是(DEFG):<% = ATextStream.ReadLine %></h3>
<p><h3>第二行是空行:<% = ATextStream.ReadLine %></h3>
<p><h3>第三行的字符是(HIJKLMN):<% = ATextStream.ReadLine %></h3>
<p><h3>第四行的字符是(OPQRST):<% = ATextStream.ReadLine %></h3>
<p><h3>跳过三个空行</h3>
<% 
ATextStream.SkipLine 
ATextStream.SkipLine
ATextStream.SkipLine
%>
<p><h3>第八行的前两个字符是(UV):<% = ATextStream.Read(2) %></h3>
<p><h3>跳过两个字符</h3><% ATextStream.Skip(2) %>
<p><h3>第八行的其余字符是(YZ):<% = ATextStream.ReadLine %></h3>
<hr>
<% ATextStream.Close 
Set ATextStream = AFileSystemObject.OpenTextFile("C:\webshare\aspsamp\filetest.txt")
%>
<p><h3>第一行的字符是(ABCDEFG):<% = ATextStream.ReadLine %></h3>
<p><h3>文件中所有内容是</h3>
<p><h3><% = ATextStream.ReadAll %></h3>
<% ATextStream.Close %>

</body>
</html>

  • 上一篇:数据库查询语言(2)
  • 下一篇:返回列表