在ASP于语言里,文件的存取主要是使用FileSystemObject这个对象,在进行文件存取之前,需要首先创建该对象的实例,比如:
<% set fso = Server.CreateObject("Scripting.FileSystemObject") %>,当该对象创建好了之后,就可以利用该实例进行文件存取了。下面我们分别将几个文件存取对象做一简单的说明如下:
◆FileSystemObject对象
方法如下:
·BuildPath(Path,Name):用于创建文件路径。
·CopyFile Source,Destination [,Overwrite]:从Source向Destination拷贝一个或多个文件。在Source中指定的路径可以包含通配符,使用通配符可以一次拷贝多个文件。然而,假如你使用了通配符而没有文件与之匹配,该方法就会发生错误。Overwrite指明是否覆盖已经存在的文件。Overwrite的值为TRUE或FALSE。缺省时,Overwrite的值为TRUE。但这个方法不会覆盖那些具有只读文件属性的文件。
·CopyFolder Souce,Destination [,Overwrite]:从Source向Destination拷贝一个或多个文件夹。在Source中指定的路径可以包含通配符,使用通配符可以一次拷贝多个文件夹。然而,假如你使用了通配符而没有文件夹与之匹配,该方法就会发生错误。Overwrite指明是否覆盖已经存在的文件夹。Overwrite的值为TRUE或FALSE。缺省时,Overwrite的值为TRUE。
·CreateFolder Foldername:新建一个文件夹,文件夹的名称为Foldername。假如文件夹已存在,则会在执行时产生错误。
·CreateTextFile(Filename[,Overwrite[,Unicode]]):新建文件并返回一TextStream对象。Filename是新文件的文件名。Overwrite指明如果要新建的文件以存在,该方法是否会覆盖已存在的文件。Overwrite的值为TRUE或FALSE,缺省时,值为FALSE。Unicode的值也同样为TRUE或FALSE;如果Unicode的值为TRUE,则创建文件的字符集为Unicode;否则创建文件的字符集为ASCII(缺省)。
·DeleteFile Filespec[,Force]:删除一个或多个文件。Filespec指明要删除的文件。Filespec可以包含通配符。如果Filespec包含通配符,则多个符合通配符的文件可以一次删除。Force指明是否强迫删除具有只读文件属性的文件。Force的值可为TRUE或FALSE。缺省时,其值为FALSE。
·DeleteFolder Folderspec [,Force]:删除一个或多个文件夹。Folderspec指明要删除的文件夹。Folderspec可以包含通配符。如果Folderspec包含通配符,则多个符合通配符的文件夹可以一次删除。Force指明是否强迫删除具有只读文件属性的文件夹。Force的值可为TRUE或FALSE。缺省时,其值为FALSE。
·DriveExists(Driverspec):假如由Driverspec指明的驱动器存在,返回值为TRUE;否则返回值为FALSE。
·FileExists(Filespec):假如由FileSpec指明的文件存在,返回值为TRUE;否则返回值为FALSE。
·FolderExists(Folderspec):假如由Folderspec指明的文件夹存在,返回值为TRUE;否则返回值为FALSE。
·GetAbsolutePathName(Pathspec):返回由Pathspec指明的部分路径的完全文件路径。
·GetBaseName(Path):从一个由Path指明的全路径中返回文件名(无扩展名)。
·GetExtensionName(Path):从一个由Path指明的全路径中返回文件扩展名。
·GetFile(Filespec):返回代表Filespec的File对象。
·GetFileName(Pathspec):从一个由Pathspec指明的全路径中返回文件名和文件扩展名。
·GetFolder(Folderspec):返回代表Folderspec的Folder对象。
·GetParentFolderName(Path):返回包含由Path指明的文件或文件夹的文件夹。
·GetSpecialFolder(Folderspec):返回由Folderspec指明的文件夹。Folderspec的值可以是以下所示的值中的任一个:
windowFolder--0:Windows操作系统文件夹
SystemFolder--1:系统文件夹
TemporaryFolder--2:临时文件夹
·MoveFile Source,Destination:从Source向Destination移动一个或多个文件。Source可以包含通配符。假如Source包含通配符,该方法可以一次移动多个和通配符相应的文件。
·MoveFolder Source,Destination:从Source向Destination移动一个或多个文件夹。Source可以包含通配符。假如Source包含通配符,该方法可以一次移动多个和通配符相应的文件夹。
·OpenTextFile(FileName[,iomode [,create [,format]]]):打开一个用于读或添加的文件并创建一TextStream对象。要打开的文件为FileName。
iomode确定要打开文件的操作类型。iomode可以具有的两个值。ForReading--1:打开文件用于读,ForAppending--8:打开文件用于添加
create指明如果指定的文件不存在,是否创建该文件。假如create的值为TRUE,创建新文件;否则,不创建新文件。缺省时,create的值为FALSE。
format确定文件的字符集。format具有下表所示的值:
<%
Set fso = Server.CreateObject(“Scripting.FileSystemObject”)
Set drv = fs.GetDrive("C:")
%>
属性如下:
AvailableSpace:返回在一驱动器或网络共享上剩余的可用空间。
DriverLetter:返回某一驱动器或网络共享的驱动字符。
DriveType:返回指明某一驱动器性质的数字,代表这些性质的数字为:0--未知,1--可移动的,2--固定的,3--远程的,4--CD-ROM,5--RAM盘
FileSystem:返回指定的驱动器使用的文件系统。可能的返回值包括NTFS和FAT。
FreeSpace:返回在一网络共享或驱动器上可用的空间。
IsReady:指明某一特殊的驱动器,比如CD-DOM或可移动盘驱动器,目前是否可用。该属性的值为TRUE或FALSE。
Path:返回指定驱动器的路径。
RootFolder:返回一表示指定驱动器的根文件夹的文件夹对象。
SerialNumber:返回磁盘卷的唯一序列号。
ShareName:返回指定驱动器的网络共享名。
TotalSize:以字节为单位返回指定驱动器或网络共享的大小。
VolumName:指明指定驱动器的卷标名称。这个属质即可以设置,又可以读取。
Count:返回在Drivers集合中驱动器的数目。
Item(Key):用于指明在Drivers集合中的某一驱动器。Key指明该驱动器。
◆File对象:File对象能允许你访问或操作一个独立的文件。
<%
Set fso = Server.CreateObject("scripting.FileSystemObject")
Set f = fso.GetFile("C:\text.txt")
%>
1、方法如下:
·Copy Destination [,Overwrite]:把文件拷贝到一新的路径下。Destinatin就是新路径。Overwrite的值为TRUE或FALSE;当Overwrite的值为TRUE时,如果在目标路径下已经存在同名的文件,该方法覆盖此文件;如果Overwrite的值为FALSE,则会发生错误。缺省时Overwrite的值为TRUE。
·Delete [Force]:删除文件,Force指明是否删除具有只读属性的文件。缺省时,Force的值为FALSE。
·Move Destination:把文件移动到新目录下,Destination是移动目标的文件路径。
·OpenAsTextStream([iomode[,format]]):打开一个文件,使该文件可以用于读,写,添加。Iomode决定可以用在打开文件上的操作类型。
Imode具有可能的值为:
ForReading--1:打开文件用于读数据
ForWriting--2:打开文件用于写数据
ForAppending--3:打开文件用于添加数据
Format决定文件的字符集。Format具有以下可能的值:
TristateUseDefault--1:使用系统缺省字符集
TristateTrue--2:以Unicode形式打开文件
TristateFalse--0:以ASCII形式打开文件
2、属性如下:
·Attributes:指明文件的属性。这个性质具有以下所示的值:
Normal--0:无属性集
ReadOnly--1:读/写属性
Hidden--2:读/写属性
System--4:读/写属性
Volumn--8:只读属性
Directory--16:只读属性
Archive--32:读/写属性
Alias--64:只读属性
Compressed--128:只读属性
·DateCreated:返回该文件的创建时间。该性质只读。
·DateLastAccessed:返回该文件最后一次访问的时间。该性质只读。
·DateLastModified:返回该文件最后一次修改的时间。该性质只读。
·Drive:返回该文件所在的驱动器。该属性只读。
·Name:指明文件的文件名,该属性可读又可设置。
·ParentFolder:返回包含该文件的文件夹。
·Path:返回该文件的路径。
·ShortName:返回该文件的短文件名(windows 95前版本)。
·ShortPath:返回该文件的短路径名(windows 95前版本)。
·Size:返回该文件的大小,以字节为单位。
·Type:返回文件类型,可能的值包括Text文本,ASP文件及Internet文档(html)。
·Count:返回在Files集合中的文件数目。
·Item(Key):返回在Files集合中由Key指明的文件。
◆Folder对象:使用Folder对象可以得到指定文件夹的信息和对指定的文件夹进行各种操作:
<%
Set fso=Server.CreateObject(“Scripting.FileSystemObject”)
Set myfolder=fso.GetFolder("C:\myfolder")
%>
1、方法如下:
·Copy Destination [,Overwrite]:把文件夹拷贝到由Destination指定的路径下。假如Overwrite为TRUE,则已经存在的文件或文件夹将会被覆盖;如果Overwrite的值为FALSE(缺省值),不进行覆盖操作。
·CreateTextFile(Filename [,Overwrite [,Unicode]]):新建一文件并返回TextStream对象。Filename是新建文件的文件夹。Overwrite指明是否对已经存在的文件进行覆盖。Overwrite的值可以是TRUE或FALSE(缺省值为FALSE)。如果Unicode的值为TRUE,以Unicode字符集创建文件;如果Unicode的值为FALSE,则以ASCII形式创建文件(缺省形式)。
·Delete Force:删除文件夹。如果Force的值为TRUE,即使文件夹的属性为只读,同样进行删除;缺省时Force的值为FALSE。
·Move Destination:把文件夹移动到由Destination指定的新路径。
2、属性如下:
·Attibutes:指明文件夹的属性。该性质的值如下表所示:
Normal--0:无属性值
ReadOnly--1:读/写属性
Hidden--2:读/写属性
System--4:读/写属性
Volume--8:只读属性
Directory--16:只读属性
Archive--32:读/写属性
Alias--64:只读属性
Compress--128:只读属性
·DateCreated:返回该文件夹的创建日期。该属性只读。
·DateLastAccessed:返回最后一次访问该文件夹的日期,该属性只读。
·DateLastModified:返回该文件夹最后一次修改的日期,该属性只读。
·Drive:返回该文件夹所在的驱动器,该属性只读。
·IsRootFolder:如果目前的文件夹为根文件夹,返回值为TRUE;否则,返回值为FALSE。
·Name:指明文件夹的名称,该属性可读也可设置。
·ParentFolder:返回代表当前文件夹的上一级文件夹的Folder对象。
·Path:返回文件夹的路径。
·ShortName:返回文件夹的短名称(Windows95之前的短文件名)。
·ShortPath:返回文件夹的短路径(Windows 95之前的短路径名)。
·Size:返回包含在当前文件夹内的所有的文件和文件夹的大小,以字节为单位。
·SubFolders:返回包含在当前文件夹内的所有子文件夹的Folders集合。
·Count:返回在Folders集合中文件夹的数目。
·Item(Key):返回在Folders集合中由Key指明的文件夹。
◆TextStream对象:TextStream对象具有一系列的方法和性质,这些方法和性质可以用于对某一文件进行操作或返回该文件的信息。
<%
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set myfile=fso.CreateTextFile("C:\myfile.txt",True)
%>
1、方法如下:
·Close:关闭打开的文本流文件。
·Read(characters):读取文本流文件中一定数量的字符,并把它写入到一字符串中。
·ReadAll:读取整个文本流文件(可能很大),并把它写入到字符串中。
·ReadLine:读取文本流文件的一行,并把它写入字符串中。不包含新行符。
·Skip(characters):跳过文本流文件中指定数目的字符。
·SkipLine:跳过文本流文件的一行。
·Write(String):往文本流文件内写入字符串,不包含新行符。
·WriteBlankLine(Lines):往文本流文件内写入指定数目的空行(新行符)。
·WriteLine([String]):往文本流文件内写入包含新行符的字符串。
2、属性如下:
·AtEndOfLine:如果遇到新行符,返回值TRUE;否则返回值为FALSE。
·AtEndOfStream:如果到达文本流文件的结尾时,返回值为TRUE,否则返回值为FALSE。只在文本流文件是用于读取时。
·Column:返回当前列在文本流文件中的列位置。
·Line:返回当前行在文本流文件中的行位置。