ASP TextStream对象
- 格式:doc
- 大小:281.00 KB
- 文档页数:6
ASP的六大内部对象1.Request对象Request对象把客户信息保存在几个集合中,供ASP应用使用。
2.Response对象用来控制向客户返回的HTML的内容,有若干属性和方法。
3.Application对象Active Server应用程序是虚拟目录及其子目录下的所有文件,即一个WEB。
可以使用Application对象在应用软件的所有用户中共享信息,并可以在服务器运行期间持久地保存数据。
他有一些控制访问应用层数据的方法和事件。
4.Session对象Active Server使用会话设置为使用应用程序的单个用户持久保持数据。
5.Server对象用于执行在服务器中的操作6.FileSystem和TextStream对象FileSystem和TextStream对象可用于建立对文件系统的访问,并提供顺序访问文件的机制。
ASP六大对象介绍Application对象Application对象是个应用程序级的对象,用来在所有用户间共享信息,并可以在Web应用程序运行期间持久地保持数据。
Application的属性:方法如下:Application对象没有内置的属性,但是我们可以自行创建其属性。
<% Application("属性名")=值%>其实大部分Application变量都存放在Contents集合中,当你创建一个新的Application变量时,其实就是在Contents集合中添加了一项。
下面两个脚本是等效的:<% Application("greeting")="hello!" %> 或<% Application.contents("greeting")="hello!"由于Application变量存在集合里,所以如果想要全部显示,其方法我们已经多次使用,例如For Each循环。
ASP如何读写一个文本文件利用Active Server Pages脚本,你就几乎完全可以控制服务器的文件系统。
需要如下的组件:■FileSystemObject:这个对象包括了一些基本的对文件系统进行操作的方法,比如说,复制和删除文件夹或者文件■TextStream:这个对象用来读写文件■File:它的方法和属性被用来处理单独的文件。
■Folder:它的方法和属性被用来处理文件夹。
这部分介绍如何读写一个文本文件。
这对文本文件有很多用处,包括下面这些。
■一个常用的日志,利用文本文件记录访问者的活动以供日后参考。
你可以记录诸如访问者IP地址,浏览器类型等等你能得到而且想要了解的东西。
■Form中的数据,你可以将用户在Form的文本框中填写的东西记入文本文件,尽管使用数据库会更加有效。
■每日新闻,将每日的新消息记录到文本文件,然后可以在很多文件中读出来显示对文本文件的写操作要创建并且写入一个文本文件,你应当使用FileSystemObject和TextStream对象。
首先,你需要创建一个FileSystemObject对象的事例,然后,再利用CreateTextFile()以该事例创建一个T extStream 对象的事例,最后利用TextStream对象的WriteLine()方法来写入文件。
下面是这个例子:<%SetMyFileObject=Server.CreateObject(“Scripting.FileSystemObject ”)SetMyTextFi le=MyFileObject.CreateTextFile(“c://mydir//test.txt”) MyTextFile.WriteLine(“欢迎进入迈至科网络ASP教程文件操作示例!”MytextFile.Close%>这个例子创建了一个名字为test.txt的文件,该文件位于c://mydir//,WriteLine()方法被用来将那一句话写入该文件。
目录目录 (1)前言 (3)FileSystemObject对象概述 (3)一、FileSystemObject 对象的属性 (3)二、FileSystemObject 对象的方法 (5)1. 与驱动器有关的方法 (5)DriveExists的使用 (5)2. 与文件夹有关的方法及属性 (6)用FileSystemObject对象来操作文件夹的方法: (6)CopyFolder的使用 (7)CreateFolder及DeleteFolder的使用 (7)FolderExists的使用 (8)GetAbsolutePathName的使用 (8)GetFolder的使用 (8)GetParentFolderName的使用 (9)GetSpecialFolder的使用 (9)MoveFolder的使用 (9)Folder对象所提供的方法 (10)Copy的使用 (11)Delete的使用 (11)Move的使用 (12)CreateTextFile的使用 (12)Folder对象所提供的属性: (13)Drive、DateCreated、Name属性的使用 (14)SubFolers属性的使用 (14)Files属性的使用 (15)3. 以文件有关的方法及属性 (15)用FileSystemObject对象来操作文件的方法: (15)CopyFile及MoveFile的使用 (17)CreateTextFile及DeleteFile的使用 (17)GetBaseName、GetFileName及GetExtensionName的使用 (18)GetFile的使用 (19)GetTempName的使用 (19)OpenTextFile的使用 (20)File对象所提供的属性 (20)TextStream对象概述 (21)一、TextStream对象的方法 (22)Close、Write、WriteLine及WriteBlankLines的使用 (22)Read、ReadAll及ReadLine的使用 (23)Skip、SkipLine的使用 (23)二、TextStream对象的属性 (24)AtEndOfLine及AtEndOfStream的使用 (25)Column及Line的使用 (25)前言最近一直在学VBScript,网上相关的教程也有很多,但大多数的对象都放在ASP中讲解,对于没有学过ASP的同学来说就非常郁闷了。
ASP 新建文件和文件夹
要创建一个新文件并写入文本,首先需要创建一个FileSystemObject 对象的实例,再使用CreateTextFile()方法创建一个TextStream 对象的实例,然后使用TextStr
reateTextFile()方法创建一个名为“song.txt ”的文本文件并返回TextStream 对象实例MyFile ,接下来的WriteLine()方法向此文件中写入一个字符串,最后的Close()函关闭已打开的文件并释放其占用的资源。
将上述代码保存为CreateNewFile.asp 并运行,会在程序所在目录中创建名为
“s ong.txt ”的文本文件,打开该文件后会看到程序中指定的字符串,如图3-1所示。
图3-1 创建文件
要创建一个新文件夹,同样需要创建FileSystemObject 对象,然后通过该对象文件内容
文本文件
将上述代码保存为CreateNewFolder.asp并运行,会在程序所在目录中创建名为“Song”的文本夹,打开程序所在目录后会看到新建的文件夹,如图3-2所示。
图3-2 创建文件夹。
ASP 文件内容操作在了解了TextStream对象提供的属性和方法之后,本节会使用这些方法对文件进行读写以实现常用的操作。
在开始之前,首先介绍一下如何创建TextStream对象。
ASP可以使用3种方法创建或者打开一个文本文件并返回TextStram对象。
1)CreateTextFile(filename,overwrite,unicode)说明见表3-3所示。
2)OpenTextFile(filename,iomode,create,format)说明见表3-3所示。
3)OpenAsTextStream(iomode,format)打开一个指定的文件并且返回一个TextStream对象,可用于对该文件的读、写或者追加。
iomode参数说明了需要的访问类型,可选值有ForReading(1)(默认)、Fo rWriting(2)、ForAppending(8)。
Format参数说明了读写文件的数据格式,可选值有T ristateFalse(0)(默认),说明用ASCII数据格式;TristateTrue(-1)说明用Unicode数据格式;TristateUseDefault(-2)说明使用系统默认的格式。
1.显示文件内容下面是第一个程序,该程序将创建一个文本文件“my.txt”并向该文件中写入文本,然后将写入的文本读出并在浏览器上显示出来。
程序运行效果如图3-10所示。
图3-10 读取文件内容该程序使用FileSystemObject对象的CreateTextFile方法在当前目录上创建了一个文本文件“my.txt”,使用与之对应的TextStream对象实例tsObj的writeLine方法向该文件中写入了一行数据;TextStream对象的Close方法可以关闭与TextStream 对象实例相对应的文本文件。
通过使用TextStream对象还可以读取文件的部分内容。
例如,下面的代码在上执行上述代码后,显示的内容如下:现在,如果要读取文件中从某一部分开始到最后的内容,则可以使用TextStrea m对象的Skip()方法。
ASP TextStream对象FileSystemObject对象的CreateTextFile方法创建指定的文本文件并返回其中,object是必选参数,应为FileSystemObject或Folder对象的名称。
filename 也是必选参数,是一个字符串表达式,用于指明要创建的文件。
overwrite是可选参数,取Boolean值,指明是否可以覆盖现有文件,如果该值为True,可以覆盖文件;如果该值为False或省略该参数,则不能覆盖文件。
unicode也是可选参数,取Boolean 值,指明是否以Unicode或ASCII文件格式创建文件,如果该值为True,则以Unicode 文件格式创建文件;如果该值为False或省略该参数,则以ASCII文件格式创建文件。
1.打开文件FileSystemObject对象的OpenTextFile方法打开指定的文件并返回一个TextStream对象,该对象可以用于对文件进行读、写和添加到末尾操作,语法格式其中,object是必选参数,用于指定FileSystemObject对象的名称。
filename也是必选参数,是一个字符串表达式,用于指定要打开的文件名称。
iomode是可选参数,用于指定文件的输入/输出模式。
如果该参数为1或省略,则以只读模式打开文件,不能对此文件进行写操作;如果该参数为2,则以只写方式打开文件,不能对此文件进行读操作;如果该参数为8,则打开文件并在文件末尾进行写操作。
create 是可选参数,取Boolean值,指出当指定的filename不存在时是否能够创建新文件。
如果该参数为True,允许创建新文件;如果该参数为False或省略,不允许创建新文件。
format是可选参数,指定以何种格式打开文件。
如果该参数为0或省略,以ASCII格式打开文件;如果为―1,则以Unicode格式打开文件;如果为―2,则以系统默认格式打开文件。
什么是SSISSI直译服务器端包含(Server Side Includes),由字面上看由WEB在服务器提供的一种功能,并且是在服务器端进行的。
一般说来,要完成较复杂的任务(如:聊天室/留言本等),必须设计专门的CGI或ASP程序;但是如果只是想给网页加上简单的功能(如:显示一篇文档,web服务器环境变量,关于该文档的更新日期/大小等),则只要SSI就可以完成了。
SSI则是直接由服务器解释执行的,须要WEB服务器软件支持SSI。
而且,由于直接在服务器端执行SSI,产生相应HTML代码;所以对客户端没有限制,不会产生因为不同浏览器而产生不同的观看效果。
SSI有什么用?目前,主要有以下几种用用途:1、显示服务器端环境变量<#echo>2、将文本内容直接插入到文档中<#include>3、显示WEB文档相关信息<#flastmod #fsize> (如文件制作日期/大小等)4、直接执行服务器上的各种程序<#exec>(如CGI或其他可执行程序)5、设置SSI信息显示格式<#config>(如文件制作日期/大小显示方式)高级SSI可设置变量使用if条件语句。
什么叫FSO?FSO(FileSystemObject)是微软ASP的一个对文件操作的控件,该控件可以对服务器进行读取、新建、修改、删除目录以及文件的操作。
是ASP编程中非常有用的一个控件。
但是因为权限控制的问题,很多虚拟主机服务器的FSO反而成为这台服务器的一个公开的后门,因为客户可以在自己的ASP网页里面直接就对该控件编程,从而控制该服务器甚至删除服务器上的文件。
因此不少业界的虚拟主机提供商都干脆关掉了这个控件,让客户少了很多灵活性。
快网的WINDOWS虚拟主机服务器具有高安全性,所有支持asp和.net的空间均支持FSO,可以让客户在自己的网站空间中任意使用,却没有办法危害系统或者妨碍其他客户网站的正常运行。
平时我喜欢用FSO来操作文件,但是很郁闷的是我喜欢用UTF-8编码,而FSO没法写UTF-8编码的,有时候就不得不用到Stream了。
下面有2个非常典型的文本流函数,一个是用来读取文件内容的,一个是用来写文件的。
下面是S tream的常见方法:Open 方法(ADO Stream)打开Stream 对象来操作二进制或文本数据的流。
语法Stream.Open Source, Mode, OpenOptions, UserName, Password参数Source 可选。
V ariant 值,指定Stream 的数据源。
Source 可能包含绝对URL 字符串,该字符串指向某个众所周知的树状结构(如电子邮件或文件系统)中现有的节点。
应使用URL 关键字(“URL=http://server/folder”)来指定URL。
另外,Source 也可包含对已打开的Record 对象的引用,该对象打开与Record 相关联的默认流。
如果未指定Source,Stream 将被实例化并被打开,默认情况下它不与基本源相关联。
Mode 可选。
ConnectModeEnum 值,指定得出的Stream 的访问模式(例如,读/写或只读)。
默认值为adModeUnknown。
有关访问模式的详细信息,请参阅Mode 属性。
如果未指定Mode,它将被源对象继承。
例如,如果以只读模式打开源Record,那么默认情况下Stream 也将以只读模式打开。
OpenOptions 可选。
StreamOpenOptionsEnum 值。
默认值为adOpenStreamUnspecified。
UserName 可选。
String 值,包含(在需要时)访问Stream 对象的用户标识。
Password 可选。
String 值,包含(在需要时)访问Stream 对象的密码。
说明当把Record 对象作为源参数传递时,将不使用UserID 和Password 参数,因为这样就已经可以访问Record 对象。
asp(vbs)fsoOpenTextFile⽅法参数说明OpenTextFile是asp语⾔中的⼀个⽅法打开指定的⽂件并返回⼀个 TextStream 对象,可以通过这个对象对⽂件进⾏读、写或追加。
object.OpenTextFile(filename[, iomode[, create[, format]]])1、⽅法编辑打开指定的⽂件并返回⼀个 TextStream 对象,可以通过这个对象对⽂件进⾏读、写或追加。
object.OpenTextFile(filename[, iomode[, create[, format]]])2、参数编辑object必选项。
object 应为 FileSystemObject 的名称。
filename必选项。
指明要打开⽂件的字符串表达式。
iomode可选项。
可以是三个常数之⼀: ForReading 、 ForWriting 或 ForAppending 。
create可选项。
Boolean 值,指明当指定的 filename 不存在时是否创建新⽂件。
如果创建新⽂件则值为 True ,如果不创建则为False 。
如果忽略,则不创建新⽂件。
format可选项。
使⽤三态值中的⼀个来指明打开⽂件的格式。
如果忽略,那么⽂件将以 ASCII 格式打开。
3、设置编辑iomode 参数可以是下列设置中的任⼀种:常数值描述ForReading 1 以只读⽅式打开⽂件。
不能写这个⽂件。
ForWriting 2 以写⽅式打开⽂件ForAppending 8 打开⽂件并从⽂件末尾开始写。
format 参数可以是下列设置中的任⼀种:值描述TristateTrue 以 Unicode 格式打开⽂件。
TristateFalse 以 ASCII 格式打开⽂件。
TristateUseDefault 使⽤系统默认值打开⽂件。
4、说明编辑下⾯的代码说明了如何使⽤ OpenTextFile ⽅法打开⽂件并追加⽂本:var fs, a, ForAppending;ForAppending = 8;fs = new ActiveXObject("Scripting.FileSystemObject");//可以是三个常数之⼀: ForReading 、 ForWriting 或 ForAppending//分别是 1 ,2 ,8a = fs.OpenTextFile("c:\\testfile.txt", 2, false);...a.Close();在vbs脚本中的⽤例打开指定的⽂件并返回⼀个TextStream对象,可以读取、写⼊此对象或将其追加到⽂件。
FSO的意思是FileSystemObject,即文件系统对象。
FSO对象模型包含在Scripting 类型库 (Scrrun.Dll)中,它同时包含了Drive、Folder、File、FileSystemObject和TextStream五个对象,用来操作文件和文件夹十分方便。
(请注意后面的常用函数)FSO文件(File)对象属性DateCreated 返回该文件夹的创建日期和时间DateLastAccessed 返回最后一次访问该文件的日期和时间DateLastModified 返回最后一次修改该文件的日期和时间Drive 返回该文件所在的驱动器的Drive对象Name 设定或返回文件的名字ParentFolder 返回该文件的父文件夹的Folder对象Path 返回文件的绝对路径,可使用长文件名ShortName 返回DOS风格的8.3形式的文件名ShortPath 返回DOS风格的8.3形式的文件绝对路径Size 返回该文件的大小(字节)Type 如果可能,返回一个文件类型的说明字符串FSO文件(File)对象方法FSO文件对象方法用途CopyFile 拷贝一个或者多个文件到新路径CreateTextFile 创建文件并且返回一个TextStream对象DeleteFile 删除一个文件OpenTextFile 打开文件并且返回TextStream对象,以便读取或者追加重命名文件:Function reName(sourceName,destName)dim oFso,oFileset oFso=server.createobject("Scripting.FileSystemObject")set oFile=oFso.getFile(Server.mappath(sourceName))=destNameSet oFso=NothingSet oFile=NothingEnd Function删除文件:Function FSOdel(fileName)dim fso,fset fso = server.CreateObject("scripting.filesystemobject")f=server.MapPath(fileName)if fso.FileExists(f) thenfso.DeleteFile f,trueend ifset f = nothingset fso = nothingEnd Function替换文件中的字符串:Function FSOreplace(fileName,Target,repString)Dim objFSO,objCountFile,FiletempDataSet objFSO = Server.CreateObject("Scripting.FileSystemObject")Set objCountFile = objFSO.OpenTextFile(Server.MapPath(fileName),1,True) FiletempData = objCountFile.ReadAllobjCountFile.CloseFiletempData=Replace(FiletempData,Target,repString)Set objCountFile=objFSO.CreateTextFile(Server.MapPath(fileName),True) objCountFile.Write FiletempDataobjCountFile.CloseSet objCountFile=NothingSet objFSO = NothingEnd Function<%'*******************************************************'函数名:CreateFolder(sPath)'作用: 创建目录'参数:sPath : 创建的相对目录路径'返回值:成功 true , 失败 false'*******************************************************'response.Write createfolder("/dgsunshine/UploadFile/demo1/")Function CreateFolder(sPath)On Error Resume NextDim Fso,Arrfolder,Folder,i,jIf sPath="" thenCreateFolder = FalseExit FunctionEnd IfIf Left(sPath,1) = "/" ThenFolder = "/"sPath = Mid(sPath,2,Len(sPath))ElseFolder = "./"End Ifif Right(sPath,1) = "/" then sPath = Left(sPath,Len(sPath)-1) ArrFolder = Split(sPath,"/")Set Fso = Server.CreateObject("Scripting.FileSystemObject")For i = 0 To Ubound(ArrFolder)If i = 0 thenFolder = Folder & ArrFolder(i) & "/"ElseFolder = Folder & ArrFolder(i) & "/"End IfIf Fso.folderExists(Server.MapPath(Folder)) = False then response.Write server.MapPath(folder)Fso.createFolder(Server.MapPath(Folder))End IfNextSet Fso = nothingIf Err.Number <> 0 thenErr.clear()CreateFolder = FalseElseCreateFolder = TrueEnd IfEnd functionFunction getFile(paramFilePath)Set Fso = Server.CreateObject("Scripting.FileSystemObject") Set Fso_Read =fso.OpenTextFile(Server.MapPath(paramFilePath),1,false,-2)getFile = Fso_Read.readallSet Fso_Read = NothingSet Fso = NothingEnd Function'*******************************************************'函数名:CreateFile(paramFileContent,paramFilePath)'作用: 创建文件'参数:paramFileContent '文件的内容' paramFilePath '文件名(不包括路径)'返回值:成功 true , 失败 false'*******************************************************Function CreateFile(paramFileContent,paramFilePath)On Error Resume NextDim Fso,fWriteSet Fso = Server.CreateObject("Scripting.FileSystemObject") Set fWrite =Fso.CreateTextFile(Server.Mappath(paramFilePath),true)fWrite.write paramFileContentfWrite.close()Set fWrite = nothingSet Fso = nothingIf Err.number <> 0 ThenErr.clear()CreateFile = FalseElseCreateFile = TrueEnd IfEnd Function'*******************************************************'函数名:DelFile(FilePath)'作用: 删除文件'参数:FilePath '文件路径多个文件用"|"隔开'返回值:成功 true , 失败 false'*******************************************************Function DelFile(FilePath)On Error Resume NextDim fso,arrFile,iIf GetSafeStr(FilePath,"")="" thenCreateFolder = falseExit FunctionEnd IfarrFile = Split(FilePath,"|")Set Fso = Server.CreateObject("Scripting.FileSystemObject")for i=0 to UBound(arrFile)FilePath = arrFile(i)If Fso.FileExists(Server.MapPath(FilePath)) thenFso.DeleteFile Server.MapPath(FilePath)End IfNextSet fso = nothingIf Err thenErr.clear()DelFile = falseElseDelFile = trueEnd IfEnd Function'*******************************************************'函数名:DelFolder(FolderPath)'作用: 删除目录'参数:FolderPath '目录路径 '多个目录用"|"分隔'返回值:成功 true , 失败 false'*******************************************************Function DelFolder(FolderPath)On Error Resume NextDim Fso,arrFolder,iIf GetSafeStr(FolderPath,"")="" thenDelFolder = falseExit FunctionEnd IfarrFolder = Split(FolderPath,"|")Set Fso = Server.CreateObject("Scripting.FileSystemObject")For i=0 to UBound(arrFolder)FolderPath = arrFolder(i)If Fso.folderexists(Server.MapPath(FolderPath)) thenFso.deleteFolder Server.MapPath(FolderPath)End IfNextIf Err thenErr.clear()DelFolder = false'ShowError "删除目录失败",""elseDelFolder = trueEnd IfEnd Function'*******************************************************'函数名:IsExistFile(FilePath)'作用: 判断文件或目录是否存在'参数:FilePath '文件路径多个文件用"|"隔开'返回值:成功 true , 失败 false'*******************************************************Function IsExistFile(FilePath)On Error Resume NextDim fso,arrFile,iIf GetSafeStr(FilePath,"")="" thenIsExistFile = falseEnd IfarrFile = Split(FilePath,"|")Set Fso = Server.CreateObject("Scripting.FileSystemObject")for i=0 to UBound(arrFile)FilePath = arrFile(i)If Fso.FileExists(Server.MapPath(FilePath)) thenIsExistFile = TrueEnd IfIf Fso.folderexists(Server.MapPath(FilePath)) thenIsExistFile = TrueEnd IfNextSet fso = nothingIf Err thenErr.clear()IsExistFile = false'ShowError "判断文件或目录是否存在失败",""elseIsExistFile = trueEnd IfEnd Function'*******************************************************'函数名:DelFile(FilePath)'作用: 删除文件或目录'参数:FilePath '文件路径多个文件用"|"隔开'返回值:成功 true , 失败 false'*******************************************************Function DelFile(FilePath)On Error Resume NextDim fso,arrFile,iIf GetSafeStr(FilePath,"")="" thenCreateFolder = falseEnd IfarrFile = Split(FilePath,"|")Set Fso = Server.CreateObject("Scripting.FileSystemObject")for i=0 to UBound(arrFile)FilePath = arrFile(i)If Fso.FileExists(Server.MapPath(FilePath)) thenFso.DeleteFile Server.MapPath(FilePath)End IfIf Fso.folderexists(Server.MapPath(FilePath)) thenFso.deleteFolder Server.MapPath(FilePath)End IfNextSet fso = nothingIf Err thenErr.clear()DelFile = false'ShowError "删除文件或目录失败",""elseDelFile = trueEnd IfEnd Function'******************************************************* '函数名:ReNameFile((oldName,newName)'作用: 重命名文件或目录'参数:strOldName '原文件名多个用"|"隔开' strNewName '新文件名多个用"|"隔开' 上面两个参数请保持一致'返回值:成功 true , 失败 false'******************************************************* Function ReNameFile(strOldName,strNewName)On Error Resume NextDim fso,arrOld,arrNew,i,oldName,newNameold = GetSafeStr(strOldName,"")Newfile = GetSafeStr(strNewName,"")If old ="" or Newfile = "" thenReNameFile = falseExit FunctionEnd IfarrOld = Split(strOldName,"|")arrNew = Split(strNewName,"|")If UBound(arrOld)<> UBound(arrNew) thenReNameFile = falseExit FunctionEnd IfSet Fso = Server.CreateObject("Scripting.FileSystemObject") for i=0 to UBound(arrOld)oldName = Server.MapPath(arrOld(i))newName = Server.MapPath(arrNew(i))If Fso.FileExists(oldName) and not Fso.FileExists(newName) thenfso.MoveFile oldName,newName'ReNameFile = TrueEnd IfNextSet fso = nothingIf Err.Number <> 0 ThenErr.clear()ReNameFile = falseElseReNameFile = TrueEnd IfEnd Function'*******************************************************'函数名:CopyFiles((TempSource,TempEnd)'作用: 复制文件或者目录'参数:TempSource '源文件名多个用"|"隔开' TempEnd '目的文件名多个用"|"隔开' 注意:上面两个参数请保持一致,并且都为完整路径,' 已经经过Server.MapPath方法处理过'返回值:成功 true , 失败 false'*******************************************************Function CopyFiles(TempSource,TempEnd)On Error Resume NextDim CopyFSO,arrSource,arrEndCopyFiles = falseSet CopyFSO = Server.CreateObject("Scripting.FileSystemObject")If TempSource ="" or TempEnd = "" thenErrRaise "复制文件或目录","条件为空"CopyFiles = falseExit FunctionEnd IfarrSource = Split(TempSource,"|")arrEnd = Split(TempEnd,"|")If UBound(arrSource) <> UBound(arrEnd) thenCopyFiles= falseExit FunctionEnd Iffor i=0 to UBound(arrSource)srcName = arrSource(i)tarName = arrEnd(i)IF CopyFSO.FileExists(srcName) and notCopyFSO.FileExists(tarName) thenCopyFSO.CopyFile srcName,tarNameCopyFiles = trueEnd IfIF CopyFSO.FolderExists(srcName) and notCopyFSO.FolderExists(tarName)thenCopyFSO.CopyFolder srcName,tarNameCopyFiles = trueEnd IfNextSet CopyFSO = NothingIf Err then'Err.clear()CopyFiles = false End IfEnd Function%>。
请问ASP对象有哪些?1. ASP对象Request对象:保存客户端在请求一个页面或传送一个窗体时提供的所有信息。
response对象:用来产生向客户端输出信息。
Application对象:用于管理跟web应用程序相关的信息。
Session对象:用于管理跟单个用户连接相关的信息。
Server对象:可以用于处理服务器上的特定任务。
Asperror对象:用于提供发生在ASP中的错误的详细信息。
web应用程序:是一些web网页和用来完成某些任务的其它资源的一个集合。
对象之间的关系2. 脚本运行期库对象(scripting runtime library)这类对象由脚本引擎提供。
Dictionary对象:提供一个存储对象,它用来存储数值,通过对象的名字索引进行访问和引用。
FileSystemObject对象:提供对服务器底层文件系统的访问。
TextStream对象:提供对存储在磁盘上文件的访问。
File对象:对文件进行操作。
Drive对象:获取驱动器信息。
Folder对象:对文件夹进行操作。
对象关系3. 活动服务器组件Ad Rotator组件用于控制不同图像在同一网页的同一位置出现的频率,在网页中实现广告信息轮换显示。
Browser Capabilities组件用来提供浏览器信息,识别浏览器的类型。
Content Linking组件用于自动创建超链接,实现页面自动导航。
Content Rotator组件根据不同的条件在网页中插入不同的信息,实现在同一网页中不同内容的轮换显示。
Counters组件能够用于在网站中创建计数器。
Logging Utility组件提供对Web服务器日志文件的访问。
MyInfo组件为可以在整个网站内访问的变量及其数值提供一个存储空间。
Page Counter组件记录访问页面被访问的次数。
Permission Checker组件用于为页面设置访问权限。
Tools组件用于提供一些特殊的数据处理工具,如检验一个文件是否存在、处理HTML 窗体、生成一个随机整数等。
《ASP编程》复习一、VBSript脚本语言:变量:dim 变量名例:dim x,y,z常量:const 常量名例:const mystring=”这是字符串”字符串常量包含在两个引号之间,日期常量包含在两个##之间。
数组:dim 数组名(最大下标)例:dim a(3)数组的下标从0开始包括四个函数:字符串函数(len trim left right mid split)数学函数(int rnd abs)转换函数(cstr cint cdate)日期函数(date now day month year weekday)语句:条件:if then语句序列Else语句序列End if循环:do while for i=初始值to 终止值循环体循环体Loop next退出循环:exit do exit for二、五大内部对象:1. Response:输出对象功能:Response.write “”输出字符串内容到浏览器Response.redirect “”重定向到其他网页Response.buffer 是否将页面输出到缓冲区Response.end 结束程序2. Request:输入对象功能:Request.form(”表单元素名称”)获取用户以post方式提交的表单数据Request.querystring(”表单元素名称”)获取用户以get方式提交的表单数据;获取附加在URL后面或超链接后面用?变量=的方式提交的数据Request.servervariables(“环境变量名称”) 获得服务器端或客户端的环境变量信息(常用变量:local_addr remote_addr remote_host)3. Application:应用程序对象:保存一个网站的所有用户共同享有的数据信息。
起始于服务器开始,终止于服务器结束。
功能:Application(“名称”)=值用application对象存储数据变量=Application(“名称”) 读取application对象存储的数据Application.lock 锁定这两个方法一般同时使用Application.unlock 解锁4. Session:会话级对象:保存网站的某个浏览者独有的数据信息,浏览者在网站的任何一个页面都可以对它们存取。
textstream函数textstream函数是一个非常有用的函数,它允许您将文本数据流式传输到其他程序或应用程序中。
这个函数通常用于处理大量文本数据,因为它可以减少内存占用,并提高处理速度。
使用textstream函数,您可以打开一个文本文件或一个文本流,并对其进行读取或写入操作。
这个函数提供了一种方便的方式来处理文本数据,而不需要将整个文件加载到内存中。
下面是一个使用textstream函数读取文本文件的示例代码:```pythonimport iowith open('example.txt', 'r') as file:with io.TextIOWrapper(file, encoding='utf-8') as text_stream:for line in text_stream:print(line)```在这个示例中,我们首先使用Python内置的open函数打开一个名为“example.txt”的文本文件。
然后,我们使用io模块中的TextIOWrapper类创建一个文本流对象。
我们将打开的文件对象传递给TextIOWrapper的构造函数,并指定了编码方式为UTF-8。
接下来,我们使用for循环逐行读取文本流中的内容,并将其打印到控制台上。
除了读取文本数据外,textstream函数还可以用于写入文本数据。
下面是一个使用textstream函数写入文本文件的示例代码:```pythonimport iowith open('output.txt', 'w') as file:with io.TextIOWrapper(file, encoding='utf-8') as text_stream:text_stream.write('Hello, world!\n')text_stream.write('This is a test.\n')```在这个示例中,我们使用open函数创建一个名为“output.txt”的文本文件,并以写入模式打开它。
textstream函数-回复TextStream是一个在JavaScript中常用的对象,用于处理文件的输入和输出流。
它提供了一种简单而灵活的方式来读取和写入文件内容。
在本篇文章中,我们将深入探讨TextStream的用法和功能。
TextStream主要用于访问文本文件,并且支持顺序访问大型文本文件。
它可以逐行读取文本文件的内容,也可以将内容写入文本文件。
这对于读取日志文件、处理CSV文件或生成报告等任务非常有用。
首先,让我们了解如何创建和打开一个TextStream对象。
要创建一个TextStream对象,我们需要使用FileSystemObject对象。
下面是一个示例代码:javascriptconst fs = new ActiveXObject("Scripting.FileSystemObject"); const file = fs.OpenTextFile("example.txt", 1, true);在这个示例中,我们首先创建了一个FileSystemObject对象,并将其赋值给了变量fs。
然后,使用OpenTextFile方法来打开一个名为example.txt的文本文件,并返回一个TextStream对象。
参数1表示我们要读取这个文件,而参数true表示我们希望创建这个文件(如果它不存在)。
接下来,我们可以使用TextStream对象提供的方法来读取和写入文件内容。
下面是一些常用的方法:- `ReadAll()`:以字符串的形式读取文件的所有内容。
- `ReadLine()`:逐行读取文件的内容。
- `Write(text)`:将给定的文本写入文件。
- `WriteLine(text)`:将给定的文本写入文件,并添加换行符。
- `SkipLine()`:跳过当前行,读取下一行。
在读取文件时,我们通常会使用循环来逐行读取文件的内容,并对每一行执行相应的操作。
textstream函数-回复什么是[textstream函数]?[textstream函数]是一种在编程中常见的函数,主要用于处理文本流的输入和输出。
它允许我们以一种有序的方式读取和写入文本数据,以便有效地处理和操作文本信息。
首先,我们需要了解如何使用[textstream函数]来读取文本文件。
要做到这一点,我们首先需要打开一个文本文件,以便可以对其进行读取操作。
我们可以使用以下代码来打开一个文本文件并创建一个[textstream函数]对象:pythonfile = open("example.txt", "r")textstream = file.readlines()在上述代码中,我们首先使用`open`函数来打开一个名为`example.txt`的文本文件,并使用"r"参数来指定我们要以只读模式打开它。
然后,我们使用`readlines`方法将文本文件的内容读取到一个[textstream函数]对象中。
一旦我们成功地将文本文件读取到[textstream函数]对象中,我们就可以使用一系列的操作来处理和分析文本数据。
以下是一些常见的操作:1. 读取文本行:要读取文本行,我们可以使用`readline`方法。
例如,我们可以使用以下代码来读取文本文件的第一行:pythonline = textstream.readline()在上述代码中,`readline`方法将返回文本文件的第一行,并将其存储在`line`变量中。
2. 写入文本行:要向文本文件中写入一行文本,我们可以使用`write`方法。
例如,我们可以使用以下代码向文本文件中写入一行文本:pythontextstream.write("This is a new line.")在上述代码中,`write`方法将向文本文件中写入一行文本。
3. 遍历文本行:如果我们想对文本文件中的每一行进行操作,我们可以使用`for`循环来遍历[textstream函数]对象。
ASP TextStream对象
虽然FileSystemObject对象可以对文件、文件夹和驱动器进行管理,但要对文件进行读写,就需要先创建TextStream对象实例,然后使用该对象的方法和属性进行读写。
1 TextStream对象概述
使用TextSteam对象可以方便的对文件进行各种操作,像读取、写入、追加、打开或关闭等。
在使用TextStream对象对文件进行读写之前,我们首先应当了解T extStream对象的属性和方法,下面对其进行介绍。
该对象可由FileSystemOjbect对象的CreateTextFile方法返回,本节将对TextSt eam对象的属性和方法进行介绍。
1.TextStream对象属性
TextStream对象一共有4个属性,如表4-4所示。
2.TextStream对象方法
TextStream对象的方法主要用于对文件进行各种处理,在表4-5中列出了Text Stream对象提供的9个方法。
这里在使用时需要注意,由于TextStream对象能够读出或写入文本(顺序的)文件,并仅能通过FileSystemObject对象进行实例化。
因此,可以将TextStream对象认为是FileSystemObject对象的子对象。
2 使用TextStream对象
在了解了TextStream对象提供的属性和方法之后,本节会使用这些方法对文件进行读写以实现常用的操作。
在开始之前,首先介绍一下如何创建TextStream对象。
ASP可以使用3种方法创建或打开一个文本文件并返回TextStram对象。
1)CreateTextFile(filename,overwrite,unicode)说明见表4-3所示。
2)OpenTextFile(filename,iomode,create,format)说明见表4-3所示。
3)OpenAsTextStream(iomode,format)
打开一个指定的文件并且返回一个TextStream对象,可用于对该文件的读、写或追加。
iomode参数说明了需要的访问类型,可选值有ForReading(1)(默认)、For Writing(2)、ForAppending(8)。
Format参数说明了读写文件的数据格式,可选值有T ristateFalse(0)(默认),说明用ASCII数据格式;TristateTrue(-1)说明用Unicode数据格式;TristateUseDefault(-2)说明使用系统默认的格式。
1.显示文件内容
下面是第一个程序,该程序将创建一个文本文件“my.txt”并向该文件中写入
程序运行效果如图4-4所示。
图4-4 读取文件内容
该程序使用FileSystemObject对象的CreateTextFile方法在当前目录上创建了一个文本文件“my.txt”,使用与之对应的TextStream对象实例tsObj的writeLine方法向该文件中写入了一行数据;TextStream对象的Close方法可以关闭与TextStream 对象实例相对应的文本文件。
通过使用TextStream对象还可以读取文件的部分内容。
例如,下面的代码在上
执行上述代码后,显示的内容如下:
现在,如果要读取文件中从某一部分开始到最后的内容,则可以使用TextStrea m对象的Skip()方法。
例如,下面的代码演示了从my.txt中略过前6个字符,然后
使用TextStream对象的SkipLine()方法可以逐行跳过文件内容。
2.向文件添加内容
对于已经存在的文本文件进行读取或添加内容,一般步骤是先使用FileSystem Object 对象的OpenTextFile()方法,以只读、追加或可写等方式打开该文本文件,此时会返回一个TextStream 对象的实例;然后再使用这个对象来读取或添加内容。
例如,下面首先使用FileSystemObject 对象的OpenTextFile 方法以可写方式打开前面创建的文件“my.txt ”,然后向该文件中追加二行文本。
再使用FileSystemOb
图4-5 显示添加文件内容效果
对已有文件进行读取或追加数据,通常是利用FileSystemObject 对象的
OpenTextFile 方法以只读或可写方式打开文件,获取一个TextStream 对
象实例,然后用该实例读取或追加数据,读者要注意当向文件中追加数据时,需要将OpenTextFile 方法的第二个参数设为8。
3.对行的处理
在读取文件时,使用的TextStream对象的属性及方法不同可能会导致显示结果出现较大差异。
例如,下面将分几种情况读取并显示已创建的“my.txt”文件。
首
图4-6 逐行显示文件内容
在上例中的程序中使用ReadLine()方法来逐行获取内容,TextStream对象的Li ne属性则可以获取当前所在行。
如果将ReadLine()方法改为ReadAll()方法,则程序运行结果如图4-7所示。
图4-7 使用ReadAll读取文件图4-8 使用Read(15)读取文件若再将ReadAll()方法换成Read(15),此时程序运行结果如图4-8所示。
一般,在读取文本文件的全部数据时,通常结合使用TextStream对象的AtEndOfStream属性和ReadLine方法,因为当使用AtEndOfLine属性时遇到空格就停止读取了。