ASP教程-文件操作

时间:2008-03-14 04:24:11  类别:asp教程  作者:wise.willpower

文件操作主要包括复制、移动和删除文件,检查文件是否存在以及获取文件的属性。完成这些操作可以使用 FileSystemObject 或 File 对象的方法。

一、使用 FileSystemObject 对象的相应方法进行文件操作

  1、复制文件:将一个或多个文件复制到其他位置上,语法格式如下:

  <% fso.CopyFile source,destination[,overwrite] %>

  * fso :指定 FileSystemObject 对象的名称;

  * source :表示指定文件的字符串,要复制一个或多个文件时,文件名中可以有通配符;

  * destination :表示目标位置的字符串,从 source 复制文件到该位置,不允许使用通配符;

  * overwrite :是可选参数,取 Boolean 值,表明是否覆盖现有文件:如果是 True (默认值),则覆盖文件;如果是 False ,则不覆盖现有文件。

  注:如果 destinatiion 设为只读属性,则无论 overwrite 参数设置为何值,CopyFile 操作无法完成。

  只能在 Source 参数的路径最后一个组成部分中使用通配符。

  2、移动文件:将一个或多个文件从某位置移动到另一个位置,语法格式如下:

  <% fso.MoveFile source,destination %>

  * fso :指定 FileSystemObject 对象的名称;

  * source :指定要移动的文件的路径,该参数字符串只可在路径的最后一个组成部分中用通配符;

  * destination :指定路径,表示要将文件移动到该目标位置,该参数不能包含通配符。

  注:

  * 如果 destination 不存在,则进行文件移动;

  * 如果 destination 是已经存在的文件,则会出现错误;

  * 如果 destination 是目录,则会出现错误;

  * 如果 source 使用通配符但没有匹配的文件时,将会出现错误;

  * MoveFile 方法在遇到出现的第一个错误时停止。该方法不会撤消错误发生前所做的任何更改。

  3、删除文件:删除指定的文件,语法格式如下:

  fso.DeleteFile filespec[.force]

  * fso:指定 FileSystemObject 对象的名称;

  * filespec 指定要删除的文件名,在路径的最后一个组成部分中可以包含通配符;

  * force:是可选参数,取Boolean 值,如果要删除只读文件,则该值为 True,否则为 False (默认)。;

  * 如果没有找到匹配文件,将会出现错误。DeleteFile 方法在遇到出现的第一个错误时停止。该方法不会撤消错误发生前所做的任何更改。

  4、实例1(5/file.asp) 创建一个文本文件并写入内容,然后执行复制、移动和删除操作。

<html>
<% @ language="VBScript" %>
<head><title>文件操作</title>
</head>
<body>
<p>正在创建......</p>
<%
Dim fso,txtFile
Set fso=Server.CreateObject("Scripting.FileSystemObject")
Set txtFile=fso.CreateTextFile("F:mywebflasher123aspframe55file emp1.txt")
txtFile.WriteLine("Hello!")
txtFile.Close
%>
<p>文件创建成功,并已写入内容!</p>
<p>正在复制文件.......</p>
<% 'fso.CopyFile "F:mywebflasher123aspframe55file emp1.txt","F:mywebflasher123aspframe55file emp2.txt" %>
<% fso.CopyFile Server.MapPath("temp1.txt"),Server.MapPath("temp2.txt") %>
<p>正在移动文件......</p>
<% fso.MoveFile Server.MapPath("temp2.txt"),Server.MapPath("temp3.txt") %>
<p>正在删除文件......</p>
<%
fso.deleteFile Server.MapPath("temp1.txt")
fso.DeleteFile Server.MapPath("temp3.txt")
%>
<p>删除操作执行完毕!</p>
</body>
</html>

  二、使用 File 对象的方法操作文件

  1、File 对象的方法

File 对象的方法

方 法描述 / 表达式 / 注解
Cope将指定的文件或文件夹从某位置复制到另一位置。
object.Copy destination[,overwrite]
参数object指定 File 或 Folder 对象的名称,destination 指定复制文件或文件夹的目标位置,不允许使用通配符,overwrite 是可选参数,取Boolean 值,若要覆盖现有文件或文件平,则将该参数设置为 True(默认),否则设置为 False。
 Move将指定的文件或文件夹从某位置移动到另一位置。
object.Move destination
参数object指定 File 或 Folder 对象的名称,destination 指定复制文件或文件夹的目标位置,不允许使用通配。
 Delete删除指定的文件或文件夹。
object.Delete force
参数object指定File 或 Folder 对象的名称。force 是可选参数,取 Boolean 值,如果要删除的文件或文件夹的属性设置为只读属性,则该值为 True,否遇为 False(默认)。

注:在使用文件对象的方法来操作文件之前,应通过 FileSystemObject 对象的 GetFile 方法来返回与指定路径中某文件相应的 File 对象。语法格式如下:

object.GetFile(filespec)

  object 是FileSystemObject 对象的名称。filespec 指定文件的路径(绝对路径或相对路径)。

  2、实例2(4/file.asp):本例说明如何使用 File 对象的方法执行文件的复制、移动和删除操作。

<%
dim fso,txtFile,afile
Set fso=Server.CreateObject("Scripting.FileSystemObject")
'创建一个文件,并复制、移动和删除使用
Set txtFile=fso.CreateTextFile(Server.MapPath("temt1.txt"))
txtFile.WriteLine("Hello!")
txtFile.Close
Set afile=fso.GetFile(Server.MapPath("temt1.txt"))
'复制文件
afile.Copy (Server.MapPath("temt2.txt")),true
'移动文件
afile.Move (Server.MapPath("temt3.txt"))
'删除文件
afile.Delete
%>
<html>
<head><title>复制、移动和删除文件</title></head>
<body>

  1、创建文件 temt1.txt ;<br>

  2、打开 temt1.txt 文件;<br>

  3、创建文件 temt1.txt 实例对象。<br>

  4、复制 temt1.txt 文件,复制后的文件名为 temt2.txt;<br>

  5、将文件temt1.txt 移至为文件 temt3.txt。文件temt1 由文件 text3.txt 替代了。<br>

  6、将文件temt3.txt 删除。因为我们用GetFile 方法创建的是文件 temt1.txt 对象,而这时的 temt1.txt 已由文件 temt3.txt替代了。所以删除的是文件 temt3.txt。<br>

  </body>

  </html>

三、检查文件的存在性

  可以使用 FileSystemObject 对象的 FileExists 方法检查一个文件是否存在。如果指定的文件存在,该方法将返回 True,否则返回 False 。语法格式如下:

  object.FileExists(Filespec) object 参数指定 FileSystemObject 对象的名称。filespec 指定一个文件名,表示要确定是否存在的文件,如果文件不在当前文件中,则必须提供完整路径名。

  实例3:(4/fileExists.asp)本例使用 FileSystemObjec 对象的FileExists 方法来检查文件是否存在。

<%

dim fso,filespec

'创建FileSystemObject对象实例

Set fso=Server.CreateObject("Scripting.FileSystemObject")

'创建一个文件,供复制、移动和删除使用

filespec=Server.MapPath("temt2.txt")

if (fso.FileExists(filespec)) then

Response.write filespec &"存在"

else

Response.write filespec &"不存在"

end if

%>

  四、获取文件和文件夹的特征

  1、 使用 File 或 Folder 对象的下列属性来获取文件或文件夹的一些特征。如下表:

属 性描 述
Normal设置或返回文件或文件夹的属性。它可是一个值或多个值的合理组合。如下表:
常 数数值描 述
Normal0普通文件,没有设置任何属性。
ReadOnly1只读文件,可读写。
Hidden2隐藏文件,可读写。
System4系统文件,可读写。
Volume8磁盘驱动卷标,只读。
Directory16文件夹或目录,只读。
Archive32上次备份后已更改的文件,只读。
Alias64链接或快捷方式,只读。
Compressed128压缩文件,只读。
DateCreated返回指定的文件或文件夹的创建日期和时间。
DateLastAccessed返回指定的文件或文件夹的上次访问日期和时间。
DateLastModified返回指定的文件或文件夹的上次修改日期和时间。
Drive返回指定的文件或文件夹所在的驱动器的驱动器号。
Name返回指定的文件和文件夹的名称。
ParentFolder返回指定的文件或文件夹的父文件夹。
Path返回指定文件和文件夹驱动器的路径。
ShortName返回按照早期8.3文件命名约定转换的短文件名。
ShortPath返回按照早期8.3命名约定转换的短路径名。
Size返回文件或文件夹的字节数。对于文件,该属性返回指定文件的字节数,对于文件夹,该属性返回该文件夹中所有文件和子文件夹的字节数。
type返回文件或文件夹的类型信息。

  2、实例4(4/file1.asp):创建一个文本文件并查看其属性。代码如下:

<html>

<% @ language="vbscript" %>

<head><title>查看文件属性</title></head>

<body>

<%

dim fso,txtFile,f

Set fso=Server.CreateObject("Scripting.FileSystemObject")

Set txtFile=fso.CreateTextFile(Server.mapPath("hello.txt"))

txtFile.WriteLine("hello!")

TxtFile.Close

'返回一个文件对象

set f=fso.GetFile(Server.mapPath("hello.txt"))

%>

<table align="center" border="1">

<caption><b>文件属性列表</b></caption>

<tr><th>属性</th><th>值</th></tr>

<tr><td>文件名</td><td><%=f.Name %></td></tr>

<tr><td>路径</td><td><%=f.path %></td></tr>

<tr><td>驱动器</td><td><%=f.Drive %></td></tr>

<tr><td>字节数</td><td><%=f.size %></td></tr>

<tr><td>类型</td><td><%=f.Attributes %></td></tr>

<tr><td>创建于</td><td><%=f.DateCreated %></td></tr>

<tr><td>最后一次访问于</td><td><%=f.DateLastAccessed %></td></tr>

<tr><td>最后一次修改于</td><td><%=f.DateLastModified %></td></tr>

</table>

</body>

</htmL>


特别推荐

广而告之