教学前言
课程介绍
师资介绍
教材介绍
课程计划
教学大纲
教学计划
实训计划
课程总表
教学内容
作业考试
作业上传
在线测试
测验考试
互动讨论
学习论坛
疑难解答
意见建议
 
 
章节:
第5章 ASP的组件
5.2 文件存取组件 FLASH版演示教案
教学目的:
掌握文件存取组件的功能及使用方法
重点:
FileSystemObject和TextStream对象
难点:
内容:

文件存取组件(File Access)是ASP的内置组件。通过文件存取组件,可以很方便地对服务器上的文件和文件夹进行操作,这些操作包括文本文件的存取、文件和文件夹的复制、移动和删除等。对于站点的设计与管理人员,掌握这些操作是很重要的。
注意:必须将要操作的文件或文件夹的权限设置为任何人可以完全控制。
文件存取组件所包含的常用对象如表5-2所示。
表5-2 文件存取组件的常用对象
对象
说明
FileSystemObject 提供对服务器文件系统的访问
TextStream 存取文本文件
File 处理文件
Folder 处理文件夹


下面介绍其中最常用的FileSystemObject和TextStream对象。
5.2.1 FileSystemObject对象
FileSystemObject对象用于创建和打开文件以及对文件进行读写操作,可以对文件和文件夹进行创建、复制、移动和删除操作。它是文件存取组件中最重要的对象。其方法见表5-3。
表5-3 FileSystemObject对象的方法
方法
说明
CreatTextFile 创建文本文件
OpenTextFile 打开文本文件
GetFile 获得File对象
CopyFile 复制文件
MoveFile 移动文件
DeleteFile 删除文件
FileExists 判断文件是否存在
GetFolder 获得Folder对象
CreateFolder 创建文件夹
CopyFolder 复制文件夹
MoveFolder 移动文件夹
DeleteFolder 删除文件夹
FolderExists 判断文件夹是否存在

5.2.2 TextStream对象
TextStream对象用于对文件进行读写操作,其方法见表5-4。

表5-4 TextStream对象
方法
说明
语法
Close 关闭一个打开的TextStream文件 TextStream对象.Close
Read 从光标的当前位置开始,读取一定的字符数目 TextStream对象.Read(Characters)
ReadAll 读取TextStream文件中的所有数据 String=TextStream对象.ReadAll
ReadLine 读取文件中的一行数据 String=TextStream对象.ReadLine
Skip 读取文件时,跳过指定个数的字符 TextStream对象.Skip(Characters)
SkipLine 读取文件时,跳过一行数据 TextStream对象.SkipLine
Write 向文件中写入数据 TextStream对象.Write(String)
WriteLine 向文件写入一行数据 TextStream对象.WriteLine (String)
WriteBlankLine 写入指定个数的新行到文件中 TextStream对象.WriteBlankLine (Lines)

上表中,Characters表示字符数;String表示字符串;Lines表示行数。
TextStream对象的属性见表5-5。

表5-5 TextStream对象的属性
方法
说明
语法
AtEndOfLine 当光标位于当前行的未尾时,值为 True,反之为 Fales TextStream对象.AtEndOfLine
AtEndOfStream 当光标位于TextStream文件的未尾时,值为 True,反之为 Fales TextStream对象.AtEndOfStream
Column 计算从行首到当前光标位置的字符数目 TextStream对象.Column
Line 计算光标所在行在文件中的行号 TextStream对象.Line

5.2.3 实际运用说明
下面通过一些范例,介绍FileSystemObject对象和TextStream对象的具体运用。
要使用某个组件,首先必须在ASP中调用这个组件,我们可以使用组件所提供的对象以及对象的方法和属性来实现。使用ASP中的Server.CreateObject方法可以创建对象的实例,创建对象实例时,必须提供实例的注册名“PROGID”。
利用文件存取组件创建FileSystemObject对象。其语法如下:
Set fso= Server.CreateObject("Scripting.FileSystemObject")
下面介绍FileSystemObject对象的一些常见方法。
CreateTextFile 方法。创建FileSystemObject对象后,可以使用该对象的CreateTextFile 方法创建指定文件并返回一个TextStream对象。语法如下:
Set ts=fso.CreateTextFile (参数)
CreateTextFile方法的常用参数见表5-6。

表5-6 CreateTextFile方法的常用参数
参数
说明
FileName 指定要创建的文件名及其路径
OverWrite 创建文件时,如果有同名文件是否能覆盖。布尔值,True为允许,False为不允许,默认为False。可选

有了TextStream对象就可以对新创建的文件进行读写操作。
注意:为了说明问题的方便,给FileSystemObject对象取名为fso,TextStream对象取名为ts,本书下面的实例中FileSystemObject对象名均为fso,TextStream对象名均为ts。
范例5-1:创建一个文本文件,并写入一行文字“江西盛达公司”
<%
' 创建一个FileSystemObject对象
Set fso=Server.CreateObject("Scripting.FileSystemObject")
' 创建一个文本文件,获得一个TextStream对象
Set ts= fso.CreateTextFile("C:\Inetpub\wwwroot\Sd-web\sdmessage\sdmessage.txt")
' 向文本文件中写入一行字符
ts.WriteLine("江西盛达公司")
%>
OpenTextFile方法。OpenTextFile方法读取一个文本文件并返回一个TextStream对象。语法如下:
Set ts= fso.OpenTextFile (参数)
OpenTextFile方法的参数见表5-7。

表5-7 OpenTextFile方法
参数
说明
FileName 要打开的文件名及路径
Iomode 指定打开文件的方式。1为只读,2为可写并覆盖所有内容,8为可添加。默认为1。可选
Create 当指定文件不存在,是否创建新文件。布尔值,True为是,False为否,默认为False。可选

范例5-2:对已有的文本文件进行读取操作
<%
Set fso=Server.CreateObject("Scripting.FileSystemObject")
' 打开一个文本文件,获得一个TextStream对象
Set ts= fso.OpenTextFile("C:\Inetpub\wwwroot\Sd-web\sdmessage\sdmessage.txt")
Do While Not ts.AtEndOfStream
Response.Write ts.ReadLine & "<br>" ' 读取文本文件中的字符
Loop
%>
范例5-3:对已有的文本文件进行添加操作
<%
Set fso=Server.CreateObject("Scripting.FileSystemObject")
' 8表示文件为可添加方式,True表示如果文件不存在则创建文件
Set ts= fso.OpenTextFile("C:\Inetpub\wwwroot\Sd-web\sdmessage\sdmessage.txt",8,True)
ts.WriteLine("欢迎您") ' 添加内容
%>
利用FileSystemObject对象关于文件与文件夹的方法,例如CopyFile、MoveFile、DeleteFile、CopyFolder、MoveFolder和DeleteFolder等,就可以对文件或文件夹进行复制、移动、删除等操作。
范例5-4:文件的复制
<%
Set fso =Server.CreateObject("Scripting.FileSystemObject")
' 先定义源文件sdmessage1.txt和目标文件sdmessage2.txt,然后复制
Sdmessage1=" C:\Inetpub\wwwroot\Sd-web\sdmessage\sdmessage1.txt "
sdmessage2=" C:\Inetpub\wwwroot\Sd-web\sdmessage\sdmessage2.txt "
fso.CopyFile sdmessage1,sdmessage2
%>
范例5-5:计数器
这是一个综合实例,通过计数器,可以记录并显示网站的访问量。本实例包含两个文件,guestnum.asp 为程序文件,guestnum.txt为文本文件,用于记录访问人数,该文件事先写入初始化数字1。
guestnum.asp 程序文件:
<%
dim guestnum ' 定义访问量变量
Set fso=Server.CreateObject("Scripting.FileSystemObject")
Set ts= fso.OpenTextFile(server.mappath("guestnum.txt"))
guestnum=ts.readline
response.write "访问量"&guestnum&"人次"
Set ts= fso.Createtextfile(server.mappath("guestnum.txt"),true)
ts.writeline(guestnum+1) ' 浏览者打开网页,访问量加1
' 关闭对象
ts.close
set fso=nothing
%>
本章另一综合实例——简单留言板见第7章第1节。下面介绍广告轮显内置组件。

 



FLASH版演示教案:
FLASH版演示教案
实训作业:
在盛达公司网站的首页加上网站访问量统计功能。
在线测试:
在线测试
备注:

文件存组组件在实际开发中应用不多。

附:
提高部分

~ 江西信息应用技术职业学院信息技术系制作 ~

E-Mail:lxlz2050@163.net Tel:0791-5275546