ASP入门(十三)-FileSystemObject 对象

File Access 组件中常见的对象有 FileSystemObjectTextStreamFileFolderDrive等,其中每一个对象都有不同的属性和方法,我们将会在用到的时候进行详细介绍。

FileSystemObject 对象用于访问服务器上的文件系统。

此对象可对文件、文件夹和目录路径进行操作、获取文件系统信息。

直接上例子(FSO_TextFile.asp)了,首先我们检查是否存在“test.txt”文件,不存在则创建它,并写入一些文本,然后将该内容显示在表单中,经过修改后,再实现保存功能。

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>FileSystemObject 组件应用</title>
</head>
<body>
<h3>
<%
Const sFileName = "/test.txt"
Const ForReading = 1  ‘以只读方式打开文件
Const ForWriting = 2  ‘以写方式打开文件
Const ForAppending = 8‘打开文件并从文件末尾开始写
Dim oFSO, oFile, sFileContent

‘读取和保存功能都在同一个页面,先判断是否是表单提交保存(POST)
If UCase(Trim(Request.ServerVariables("REQUEST_METHOD"))) = "POST" Then
  ‘保存功能的实现
  sFileContent = Request.Form("FileContent")
  Set oFSO = Server.CreateObject("Scripting.FileSystemObject")
  Set oFile = oFSO.OpenTextFile(Server.MapPath(sFileName), ForWriting)
  oFile.Write(sFileContent)
  oFile.Close
  Response.Write("test.txt 保存完毕,并读取")
Else
  ‘创建FSO对象
  Set oFSO = Server.CreateObject("Scripting.FileSystemObject")
  ‘判断 test.txt 是否存在,不存在则创建 test.txt 文件
  If NOT oFSO.FileExists(Server.MapPath(sFileName)) Then
    Set oFile = oFSO.CreateTextFile(Server.MapPath(sFileName))
    oFile.Write("test.txt 首次创建,请开始编辑吧")
    Response.Write("文件不存在,创建 test.txt,")
    oFile.Close
    Set oFile = Nothing
  End If
  Set oFile = oFSO.OpenTextFile(Server.MapPath(sFileName), ForReading)
  Response.Write("读取 test.txt 内容")
    ‘读取 test.txt 全部内容
  sFileContent = oFile.ReadAll()
  oFile.Close
End If ‘POST 判断
%>
</h3>
<form action="" method="POST">
  <textarea rows="10" cols="50" name="FileContent"><%=sFileContent%></textarea>
  <input type="submit" value="保存"/>
</form>
<%
Set oFSO = Nothing
Set oFile = Nothing
%>
</body>
</html>

如果 test.txt 文件不存在的话,则首次运行,会创建该文件,创建文件时用到了 FSO 的 CreateTextFile 方法,该方法返回一个 TextStream 对象。

首次运行效果如下:

我们可以开始编辑,最后点击“保存”提交表单。

请注意

我们在使用完 oFile 和 oFSO 对象完毕后,都及时将它们关闭并清空,这样有助于节省服务器的系统资源。


FileSystemObject 其他方法

我们只是讲解了 FSO 最常用的功能之一,读取和写入文本文件的操作。FSO 具有对驱动器和文件夹两种文件系统对象访问的功能,这里我们只是罗列一下有需要的时候仅供参考。

FSO 对象与驱动器有关的方法如下表:

方法 说明
DriveExists(drive) 返回指定的驱动器是否存在的布尔值,drive 参数必须的,驱动器的字母或者文件、文件夹完整的绝对路径。
GetDrive(drivespec) 返回由 drivespec 参数规定的 Drive 对象,可以使驱动器字母(c),或者带冒号的驱动器字母(c:),或者带有冒号和路径分隔符的驱动器字母(C:\),或者任何网络共享规范(\\machine\sharename)
GetDriveName(path) 返回一个字符串,该值是指定路径的驱动器名称,必须是文件或文件夹的绝对路径,或者仅仅是驱动器名称(C或者 C:)

以上每个方法具体的示例已经在代码(FSO_Other.asp) 中,请自行下载测试吧,效果如下:


FSO 对象与文件夹有关的方法如下表:

方法 说明
CopyFolder source, destination[, overwrite] 从指定的源文件夹 source (可以包含通配符)中复制一个或多个文件夹到指定目标文件夹 destination,包含了源文件夹中的所有文件。

如果 source 包含通配符或 destination 末尾是路径分隔符(”\”)那么认为 destination 就是要放置源文件夹的拷贝文件夹。

overwirte 默认为 True

CreateFolder(name) 创建一个 name 文件夹,如果 name 已经存在将产生错误
DeleteFolder(foldername[, force]) 删除一个或多个指定的文件夹,如果您视图删除不存在的文件夹将会引发错误。foldername 参数支持通配符,force 布尔参数可选,是否删除只读文件夹,True 为删除,默认值为 False
FolderExists(foldername) 返回指定文件夹是否存在的布尔值
GetAbsolutePathName(path) 为指定路径返回从根驱动器开始的完整路径。例如当前路径是 F:\JJ\FSO,而 path 参数传递的是 Folder ,则返回的完整路径是 F:\JJ\FSO\Folder
GetFolder(path) 返回指定路径的 Folder 对象。
GetParentFolderName(path) 返回指定路径中最后成分的父文件夹的名称。path 参数需要其 父文件夹名称的文件或文件夹路径。不检测该文件夹是否存在
GetSpecialFolder(foldername) 返回一个特定的 Windows 文件夹对应的 Folder 对象,参数 foldername 可以是

0=WindowsFolder

1=SystemFolder

2=TemporaryFolder

MoveFolder source, destination 将 source 指定的一个或多个文件夹移动到 destination 指定的文件夹。在 source 中可以包含通配符,但在 destination 中不行。如果 destination 已经存在则产生错误

以上每个方法具体的示例已经在代码(FSO_Other.asp) 中,请自行下载测试吧,效果如下:


FSO 对象与文件有关的方法如下表:

方法 说明
CopyFile source, destination[, overwrite] 从一个位置向另一个位置拷贝一个或多个文件,source 参数可以使用通配符,destination 参数不可以使用通配符,overwrite 参数默认为 True(覆盖)
CreateTextFile(filename[, overwrite[, unicode]]) 在当前文件中创建新的文本文件,并返回可以读或写的 TextStream 对象,overwrite 参数默认为 True, unicode 参数默认为 False(创建ASCII文件)
DeleteFile(filename[, force]) 删除一个或多个指定的文件,如果您视图删除的文件不存在,会引发错误
FileExists(filename) 返回指定的文件是否存在的布尔值,如果存在返回 True
GetBaseName(path) 返回指定路径中的文件或文件夹的基准名称
GetExtensionName(path) 返回包含指定路径中最后成分的文件扩展名的字符串
GetFile(path) 返回指定路径的 File 对象。
GetFileName(path) 返回指定路径中最后成分的文件名或文件夹名的字符串
GetTempName 无参数,返回一个随机产生的临时文件或文件夹
MoveFile source, destination 把一个或多个文件从一个位置移动到另一个位置,source 参数可以包含通配符,destination 参数不可以包含通配符
OpenTextFile(fname, mode[, create[, format]]) 打开指定文件,并返回 TextStream 对象,fname 参数是要打开的文件名称,mode 参数可选1、2、8

以上每个方法具体的示例已经在代码(FSO_Other.asp) 中,请自行下载测试吧,效果如下:

示例代码下载

FSO.RAR

时间: 2025-01-14 17:17:33

ASP入门(十三)-FileSystemObject 对象的相关文章

[WebGL入门]十三,minMatrix.js和坐标变换矩阵

注:文章译自http://wgld.org/,原作者杉本雅広(doxas),文章中如果有我的额外说明,我会加上[lufy:],另外,鄙人webgl研究还不够深入,一些专业词语,如果翻译有误,欢迎大家指正. 坐标变换矩阵的基本功能 进行基本的3D渲染的时候,需要准备3个坐标变换矩阵,这个在之前的文章中说过很多次了.第一个是模型变换矩阵,DirectX中叫做世界变换矩阵.模型变换矩阵影响的是所绘制的模型,模型的位置,模型的旋转,模型的放大和缩小等相关的情况.第二个是视图变换矩阵,简单来说,就是定义拍

JS入门之ActiveXObject对象(转载)

JS入门之ActiveXObject对象 此对象提供自动化对象的接口.   function ActiveXObject(ProgID : String [, location : String]) 参数 ProgID 必选.形式为"serverName.typeName"的字符串,其中 serverName 是提供对象的应用程序的名称,typeName 是要创建的对象的类型或类. location 可选项.要在其中创建对象的网络访问器的名称. 备注 通常,自动化服务器会提供至少一种对

1小时ASP入门,非常简单

1小时ASP入门,非常简单 1小时ASP入门,非常简单. <%    语句    --   %> <2>定义变量dim语句 <%   dim a,b   a=10   b="ok!" %> 注意:定义的变梁蒙以是数值型,也可以是字符或者其他类型的 <3>简单的控制流程语句   1. If 条件1 then      语句1 elseif 条件2 then      语句2 else      语句3 endif 2.while 条件   

ASP.NET 常用五大对象总结- (新手见解)

Response 对象用于从服务器向用户发送输出的结果. Request 对象用于从用户那里取得信息. Application 在一起协同工作以完成某项任务的一组 ASP 文件称为一个应用程序.而 ASP 中的 Application 对象的作用是把这些文件捆绑在一起. Session 对象用于存储关于某个用户会话(session)的信息,或者修改相关的设置.存储在 session 对象中的变量掌握着单一用户的信息,同时这些信息对于页面中的所有页面都是可用的. Server 对象的作用是访问有关

asp.net内置对象session和cookie

1.各个机器的session对象不同,不同浏览器之间不通用(换个浏览器,是个新的session). 2.session状态对象起始于网页打开,终止于网页关闭,生命周期有限. 3.关闭浏览器/超时的情况下,session对象即被销毁,不要放太多/太大的对象在session. 4.Web应用程序在传统意义上无状态,需要使用内置对象进行客户端状态的保存. 5.session对象和Application对象存储在服务端,cookie对象存储在客户端. 6.session对象适用于安全性相比之下较高的场合

ASP.NET中Server对象

1.asp.net中常见对象: Request:服务器读取浏览器请求中的信息. Response:将服务器中的信息发送给浏览器. Server:获取请求服务器的相关信息. Application:应用程序级对象,多用户之间可以共享数据. Session:会话,用户通过网址访问服务器时会话启动. 下面的图可以简单理解为:我们发布的服务器为Server对象,在服务器上运行的web程序为Application对象,每个客户端对web程序的一个访问就是一个Session 2.Global.aspx 初始

asp.net内置对象Server

1.Server是Context的一个属性,是HttpServerUtility类的一个对象. 2.Server.HtmlDecode(),Server.HtmlEncode(),Server.UrlEncode(),Server.UrlDecode()是对HttpUtility类中相应方法的一个代理调用.有的时候很难拿到Server对象,使用HttpUtility. 3.Server.Transfer(path)内部重定向请求,Server.Transfer("hellow.aspx"

asp入门一 入门环境搭建

asp入门一 入门环境搭建,布布扣,bubuko.com

学习ASP.NET MVC(四)——我的第一个ASP.NET MVC 实体对象

今天我将根据数据库中的表结构添加一些类.这些类将成为这个ASP.NET MVC应用程序中"模型"的一部分.       我们使用Entity Framework(实体框架)来定义和使用这些模型类,并且访问数据库.实体框架 (EF) 是一种对象关系映射机制,支持 .NET 开发人员使用特定对象来处理关系数据.它消除了开发人员通常需要编写大部分数据访问代码的工作,所以也称为代码优先开发模式.使用实体框架 ,可以将自定义数据类与数据模型一起使用,而无需对数据类本身进行任何修改. 这意味着可以