重点内容: filesystemobject 对象 textstream 对象 file 对象及 files 集合 folder...

Post on 03-Jan-2016

148 Views

Category:

Documents

6 Downloads

Preview:

Click to see full reader

DESCRIPTION

第 6 章 ASP 的文件处理. 重点内容: FileSystemObject 对象 TextStream 对象 File 对象及 Files 集合 Folder 对象及 Folders 集合 Drive 对象及 Drives 集合. 一、 FileSystemObject 对象. - PowerPoint PPT Presentation

TRANSCRIPT

——ASP——

重点内容: FileSystemObject 对象 TextStream 对象 File 对象及 Files 集合 Folder 对象及 Folders 集合 Drive 对象及 Drives 集合

第第 66 章 章 ASPASP 的文件处的文件处理 理

——ASP——

一、一、 FileSystemObjectFileSystemObject 对对象 象 FileSystemObject 对象允许访问服务器的文件系统,可以使用该对象访问本地或网络服务器上的驱动器文件夹及文件名,从而在服务器上的所有驱动器中读取或操作信息。 FileSystemObject 对象与 TextStream 对象存在着很大的内在联系。如果要访问服务器上文件的内容,则必须同时使用这两个对象。 TextStream 对象可以通过引用系统中的任何文件来创建,通过该对象可以对参考文件进行读或写的操作,这些文件可以是 ASCII 或 Unicode 格式的文件。 FileSystemObject 对象注册的组件名为: Scripting.FileSystemObject 创建实例的格式为:<% Set fso=server.createobject("Scripting.FileSystemObject") %>

——ASP——

一、一、 FileSystemObjectFileSystemObject 对对象 象 FileSystemObject 对象只有一个属性,即 Drives 属性。该属性返回的值是一个关于当前服务器硬盘上所有驱动器的集合。引用属性的一般方法是:Set ds=fso.Drives其中, fso 应该是一个正确的 FileSystemObject 对象的实例,而 ds 变量则返回了一个关于服务器上所有驱动器的 Drives 数据集合,而不是一般的变量,因此定义该变量像定义一个对象的实例一样,需要关键字Set 。

11 、、 FileSystemObjectFileSystemObject 对象的属性 对象的属性

<% dim fso,ds Set fso=Server.CreateObject("Scripting.FileSystemObject") ' 创建对象实例 Set ds=fso.Drives ' 使用其属性 For Each Drive in ds ' 循环

Response.Write(" 本机驱动器 : " & Drive.DriveLetter & "<br>") ' 此处用到了 Drive 对象的 DriveLetter 属性,意为显示驱动器的符号 Next%>

——ASP——

一、一、 FileSystemObjectFileSystemObject 对对象 象 FileSystemObject 提供了一系列的方法对文件( File )、文件夹( Folder )、驱动器( Drive )等对象进行操作,同时也提供了两种与 TextStream 对象一起使用的方法: CreateTextFile 和 OpenTextFile 。

22 、、 FileSystemObjectFileSystemObject 对象的对象的方法 方法

——ASP——

二、二、 TextStreamTextStream 对对象 象 TextStream 对象提供了一系列的属性和方法来对文本文件进行存取等基本操作。在打开或创建了文本文件后,就得到一个 TextStream 对象,在此对象中有一个“指针”的概念。 当用 TextStream 对象打开一个文本文件时,便得到一个 TextStream 对象的实例,不妨称为 TX 。这个对象的实例指向此文本文件的开始。现在,使用这个实例来读取文件或往文件中写入信息,在写时可以逐行写,也可以只写几个字符。那么此时 TX 就不再指向文件的开始,而是指向刚写入的一行字(或字符)之后。同样地在读取时,若读取一行,则 TX 便指向刚读取完的这行或者这几个字符之后的位置。这与程序语言中所定义的文件指针概念类似,因此也称这样的 TextStream 对象为文件指针。 不能通过 CreatObject 来创建一个 TextStream 对象,得到 TextStream对象的惟一方法是如前所述的用 FileSystemObject 对象打开一个存在的文本文件或者创建一个新的文件。

——ASP——

11 、、 TextStreamTextStream 对象的对象的属性 属性

二、二、 TextStreamTextStream 对对象 象 TextStream 对象提供的属性及其表示的意义见表:

——ASP——

22 、、 TextStreamTextStream 对象的对象的方法 方法

二、二、 TextStreamTextStream 对对象 象 TextStream 对象提供的操作文件的方法及意义见表:

——ASP——

三、三、 FileFile 对象及对象及 FilesFiles 集集合 合 File 对象指向某个特定的文件,并为该文件提供一系列处理的属性和方法。创建一个 File 对象的实例有以下两种方法。 ( 1 ) 通过 FileSystemObject 对象的 GetFile 方法创建 File 对象的实例。其语法格式为:Set 变量名 =fso.GetFile(" 文件名 ") ( 2 ) 通过 Files 数据集合的 Item 属性来创建 Folder 对象的实例。其语法格式为:Set 变量名 =MF.Item(" 文件名 ") 参数“ MF”为 File 对象的实例。 参数“文件名”代表将要指向的文件的路径及文件名称。 这两种方法创建的 File 对象的实例完全等价,都可以通过 File 对象提供的属性和方法来查看文件的属性信息或者对文件进行操作。

——ASP——

11 、、 FileFile 对象的属对象的属性 性

三、三、 FileFile 对象及对象及 FilesFiles 集集合 合 File 对象提供了很多有关文件的属性,这些属性描述了一个特定文件的很多有用信息,见表:

——ASP——

22 、、 FileFile 对象的方对象的方法 法

三、三、 FileFile 对象及对象及 FilesFiles 集集合 合 File 对象提供了 4种操作文件的方法,用来完成一个文件的复制( Copy )、删除( Delete )、移动( Move )和打开( OpenAsTextStream )的操作。这些方法与 FileSystemObject 对象提供的有关方法十分相似。 ( 1) Copy :把 File 对象指向的文件复制到另一个地址。 ( 2) Delete :把 File 对象指向的文件删除。 ( 3) Move :把 File 对象指向的文件移动到另外一个地址。 ( 4 ) OpenAsTextStream :以纯文本格式打开一个文件,并返回一个指向该文件的 TextStream 对象的实例。

——ASP——

33 、、 FilesFiles 集集合 合

三、三、 FileFile 对象及对象及 FilesFiles 集集合 合 Files 集合是一个文件夹或根目录下所有文件对象 File 的集合。创建一个 Files 集合对象的实例是通过 Folder 对象的 Files 属性来完成的,该集合中包含的每个 File 对象对应目录下的一个文件。其语句格式为:Set 变量名 =MF.Files MF 是一个 Folder 对象的实例,上面这条语句创建了一个包含 MF 指向的文件夹下的所有文件的一个集合。 Files 集合有以下两个属性。 ( 1) Count 属性:返回文件夹中文件的数据。 ( 2) Item 属性:返回一个 File 对象。

——ASP——

四、四、 FolderFolder 对象及对象及 FoldersFolders集合 集合 Folder 对象提供了针对某一个特定的文件夹进行处理的方法和显示其文件夹信息的一系列属性。结合 FileSystemObject 对象的 GetFolder 方法,创建一个 Folder 对象的实例可以有以下两种方法。 ( 1 ) 通过 FileSystemObject 对象的 GetFolder 方法创建 Folder 对象的实例。其语法格式为: Set 变量名 =fso.GetFolder(" 文件夹 ")

( 2) 通过 Folders 数据集合的 Item 属性来创建 Folder 对象的实例。 Set 变量名 =mfs.Item(" 文件夹 ")

参数“ mfs”为 Folder 对象的实例。 参数“文件夹”代表所要指向的文件夹的路径。 这两种方法创建出来的 Folder 对象的实例其本质是相同的,属性、方法及用法都是完全相同的。

——ASP——

11 、、 FolderFolder 对象的属对象的属性 性

四、四、 FolderFolder 对象及对象及 FoldersFolders集合 集合 Folder 对象的属性描述了某个文件夹的众多属性信息,见表 :

——ASP——

22 、、 FolderFolder 对象的方对象的方法 法

四、四、 FolderFolder 对象及对象及 FoldersFolders集合 集合 Folder 对象有一些方法,可以用来对指向的文件夹进行复制( Copy )、删除( Delete )和移动( Move )等操作,它们类似于 File 对象的相应方法,读者可自行去参考。这里只讲在 File 对象中没有的 CreateTextFile 方法。CreateTextFile 方法与 FileSystemObject 对象的 CreateTextFile 方法完全相同。 CreateTextFile 方法在文件夹中建立并打开一个文本文件,然后返回一个与该新文件关联的新的 TextStream 对象的实例。

——ASP——

33 、、 FoldersFolders 集集合 合

四、四、 FolderFolder 对象及对象及 FoldersFolders集合 集合 Folders 集合是某个文件夹或者驱动器根目录的所有子文件夹的集合。集合中的元素是各个子文件夹对象,而每个子文件夹对象又有可能包括一系列的子文件夹。也就是说每个子文件夹中可能包含有一个 Folders 集合。简言之, Folders 集合包含了一系列的 Folder 对象,可以使用该集合代表任何文件夹。 Folders 集合有以下两个属性。 ( 1) Count 属性:返回 Folders 集合中文件夹中的数量。 ( 2) Item 属性:返回一个 Folders 集合中一个命名的 Folder 对象。 Folders 集合只有一种方法: Add 。 Add 方法用于在 Folders 集合中建立一个新的文件夹,如果该文件夹已经存在,则将出现一个错误。

——ASP——

五、五、 DriveDrive 对象及对象及 DrivesDrives 集合 集合

Drive 对象提供了很多访问驱动器属性的信息。它可以代表本地计算机上的一个驱动器,也可以代表一个映射网络驱动器。从前面学习的知识中,可以通过两种方法来创建一个 Drive 对象的实例,让它指向某个特定的驱动器。 ( 1 ) 通过 FileSystemObject 对象的 GetDrive 方法创建 Drive 对象的实例。其语法格式为:Set 变量名 =fso.GetDrive(" 驱动器的名字 ") ( 2 ) 通过 Drives 集合的 Item 属性来创建 Drive 对象的实例。其语法格式为:Set 变量名 =df.Item(" 驱动器的名字 ") 参数“ df”为 Drive 对象的实例。 这两种方法创建出来的 Drive 对象的实例其实质是完全相同的,两者都提供了获取驱动器信息的一系列属性。

——ASP——

11 、、 DriveDrive 对象的属对象的属性 性

五、五、 DriveDrive 对象及对象及 DrivesDrives 集合 集合

通过 Drive 对象提供的属性,可以访问 Drive 对象的有关信息。

——ASP——

22 、、 DrivesDrives 集集合 合

五、五、 DriveDrive 对象及对象及 DrivesDrives 集合 集合

Drives 集合代表了本地计算机或映射的网络驱动器中所有可用驱动器的集合。该集合可以通过 FileSystemObject 对象的 Drives 属性创建。 Drives 集合有以下两个属性。 ( 1 ) Count 属性:表示 Drives 数据集合中包含的驱动器的个数,即服务器上可用驱动器的个数。 ( 2 ) Item 属性:用来引用特定的某一个驱动器,以生成一个驱动器对象( Drive 对象),然后通过这个驱动器对象来对特定的驱动器进行一系列操作。

——ASP——

六、综合实例:访客留言簿 六、综合实例:访客留言簿 首先产生一个表单,收集用户数据,然后把收集的数据保存在一个文本文件中,通过读取该文本文件中的内容,以显示出用户的留言内容。

<% set fs=server.createobject("scripting.filesystemobject") ' 以追加方式打开 c:\abc\lyb.txt 文件,若此文件不存在,则创建 ( 执行后,则创建了一个 TextStream 对象 ) set a=fs.opentextfile("c:\abc\lyb.txt",8,true) ' 接收文本框 t1 数据,并以一行形式写入到 lyb.txt 文件中 a.writeline(request.form("t1")) ' 关闭 TextStream 对象 a.close%> <html><head><title> 给我留言 </title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head> <body><p>&nbsp;</p><p align="center"><font color="#0000FF" size="+4" face=" 华文彩云 "> 真 情 留 言 </font></p><hr> <%

——ASP——

六、综合实例:访客留言簿 六、综合实例:访客留言簿 set fs=server.createobject("scripting.filesystemobject") set a=fs.opentextfile("c:\abc\lyb.txt") while not a.atendofstream ' 判断指针是否已到达文件尾 response.write(a.readline & "<p>") ' 读取 lyb.txt 文件中一行的数据 wend a.close%> <hr> <!-- 以下将产生一个表单,并指定处理文件为自身 --><form name="form1" method="post" action="index.asp"> <div align="center"> <p> <textarea name="t1" cols="60" rows="5"></textarea> </p> <p align="center"> <font size="4" face=" 华文行楷 "> 请签写您的意见,我们将认真对待,谢谢! </font>   <input type="submit" name="Submit" value=" 提交 "> </p> </div></form> <p>&nbsp;</p><p align="center">&nbsp; </p></body></html>

——ASP——

六、综合实例:访客留言簿 六、综合实例:访客留言簿

top related