我的一亩三分地 我就喜欢!
13fen  设为主页
 收藏本站
 
当前位置: > 一亩三分地:首页 > 网络学院 > 网络编程 > ASP专区 > Asp未分类 > ASP 3.0高级编程(二十二)
热门文章排行
热门文章排行 手推车”功能的实现(10-07)
八大法则防范ASP网站漏洞(10-23)
ASP教程十一、调试ASP脚本(10-23)
在JSP中访问数据库大全(10-23)
虚机服务中常见Asp.Net低级错误一览(03-21)
精采文章排行
精采文章排行 ASP.NET实现抓取网页中的链接(11-15)
ASP连接数据库的11种方法(11-10)
如何动态创建网页的RSS内容摘要(11-10)
ASP网站漏洞及入侵防范方法(11-10)
ASP自定义函数:对字符串正则替换(11-10)
技术专题推荐
网管论坛交流
 

ASP 3.0高级编程(二十二) 

作者:佚名   来源:一亩三分地   点击:   日期:2007-03-30

5.5.1 创建TextStream对象的方法
有三个常用方法用于创建或打开一个文本文件并返回TextStram对象,如表5-13所示:
表5-13 创建TextStream对象的方法及说明
方 法
说 明

CreateTextFile
(filename,overwrite,unicode)
在磁盘上用指定的文件名filename创建一个新文本文件,并返回一个与该文件对应的TextStream对象。如果可选的overwrite参数设置为True,将覆盖具有同样路径的同名文件。缺省的overwrite是False。如果可选的unicode参数设置为False,该文件的内容将存储为Unicode格式。缺省的unicode是False

OpenTextFile
(filename,iomode,create,format)
打开或创建(如果不存在)一个名为filename的文件,并且返回与该文件对应的TextStream对象。filename参数可以包含绝对或相对路径。iomode参数说明需要的访问类型。容许值是ForReading(1)(缺省)、ForWriting(2)、ForAppending(8)。写入或追加到一个不存在的文件时,如果create参数设置为True,将创建一个新文件。缺省的create是False。format参数说明了读或写文件时的数据格式。容许值是TristateFalse(0)(缺省),说明用ASCII数据格式;TristateTrue(-1)说明用Unicode数据格式;TristateUseDefault(-2)说明数据使用系统缺省的格式

OpenAsTextStream
(iomode,format)
打开一个指定的文件并且返回一个TextStream对象,可用于对该文件的读、写或追加。iomode参数说明了需要的访问类型。容许值是ForReading(1)(缺省)、ForWriting(2)、ForAppending(8)。Format参数说明了读写文件的数据格式。容许值是TristateFalse(0)(缺省),说明用ASCII数据格式;TristateTrue(-1)说明用Unicode数据格式;TristateUseDefault(-2)说明使用系统缺省的格式

上面列出的方法在FileSystemObject、Folder和File对象中的实现有所不同。如表5-14所示:
表5-14 三个对象中包含的方法
方 法
FileSystemObject对象
Folder对象
File对象

CreateTextFile


OpenTextFile


OpenAsTextStream


因此,可以使用这些方法创建一个新的文本文件,或者打开一个已存在的文件。则可得到与该文件相应的一个TextStream对象,可以使用TextStream对象的属性和方法操作文件。
1. 创建新的文本文件
可以用CreateTextFile方法创建新的文本文件,或覆盖一个已存在的文件。返回的TextStream对象可用来读写文件。
首先创建一个FileSystemObject对象,用来创建TextStream对象。下面这个例子是用VBScript创建一个“普通的”(即非Unicode)名为MyFile.txt的文件,并覆盖已存在的同名文件:
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objTStream = objFSO.CreateTextFile("C:\TextFiles\MyFile.txt", True, False)
这同样可用JScript实现:
var objFSO = Server.CreateObject('Scripting.FileSystemObject');
var objTStream = objFSO.CreateTextFile('C:\TextFiles\MyFile.txt', true, false);
一旦创建了该文件,就可以使用objTStream(它是对一个TextStream对象的引用)对文件进行操作。
2. 打开已存在的文本文件
OpenTextFile方法用于打开一个已有的文本文件。它返回一个TextStream对象,可用这个对象对文件读或追加数据。
同样,首先创建一个FileSystemObject对象,然后用其创建一个TextStream对象。下面的VBScript程序例子打开一个名为MyFile.txt的文件,准备读出其内容:
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objTStream = objFSO.OpenTextFile("C:\TextFiles\MyFile.txt", ForReading)
用JScript:
var objFSO = Server.CreateObject('Scripting.FileSystemObject');
var objTStream = objFSO.OpenTextFile('C:\TextFiles\MyFile.txt', ForReading);
为了写入一个文件或创建一个不存在的文件,可以用以下代码:
' In vbscript:
Set objTStream = objFSO.OpenTextFile("C:\TextFiles\MyFile.txt", ForWriting, True)

// In jscript:
var objTStream = objFSO.OpenTextFile('C:\TextFiles\MyFile.txt', ForWriting, true);
如果要打开一个已有的Unicode文件,准备对其追加数据,但是不创建不存在的文件,可以用:
' In vbscript:
Set objTStream = objFSO.OpenTextFile("C:\TextFiles\MyFile.txt", ForReading, _
False, TristateTrue)
// In jscript:
var objTStream = objFSO.OpenTextFile('C:\TextFiles\MyFile.txt', ForReading, _
fasle, TristateTrue);
3. 作为一个TextStream对象打开一个File对象
可用File对象的OpenAsTextStream方法打开与该对象相应的文件,并且返回一个能对该文件进行读、写和追加的TextStream对象。所以,给定一个File对象(这种情况下不是FileSystemObject对象)——objFileObject,可作为一个“普通的”(非Unicode)TextStream对象打开它,以供追加文件内容:
' In vbscript:
Set objTStream = objFileObject.OpenAsTextStream(ForAppending, False)

// In jscript:
var objTStream = objFileObject.OpenTextFile(ForAppending, false);
注意,使用这种方法不需要文件名,因为程序的执行通过引用File对象进行,并且没有create参数,因为该文件必须已存在,如果想从一个新的空的文件开始,可以用:
' In vbscript:
Set objTStream = objFileObject.OpenAsTextStream(ForWriting)

// In jscript:
var objTStream = objFileObject.OpenTextFile(ForWriting);
如果想读取该文件:
' In vbscript:
Set objTStream = objFileObject.OpenAsTextStream(ForReading)

// In jscript:
var objTStream = objFileObject.OpenTextFile(ForReading);

5.5.2 TextStream对象成员概要
表5-15和表5-16是TextStream对象的全部属性和方法的列表。下面将简短介绍各个重要的成员的细节。
1. TextStream对象的属性
TextStream的属性提供有关文件内文件指针当前位置的信息,如表5-15所示。注意,所有的属性是只读的。
表5-15 TextStream对象的属性及说明
属 性
说 明

AtEndOfLine
如果文件位置指针在文件中一行的末尾则返回True

AtEndOfStream
如果文件位置指针在文件的末尾则返回True

Column
从1开始返回文件中当前字符的列号

Line
从1开始返回文件中当前行的行号

AtEndOfLine和AtEndOfStream属性仅对以iomode参数为ForReading的方式打开的文件可用,否则将会出错。
2. TextStream对象的方法
TextStream对象的方法如表5-16所示:
表5-16 TextStream对象的方法及说明
方 法
说 明

Close()
关闭一个打开的文件

Read(numchars)
从文件中读出numchars个字符

ReadAll()
作为单个字符串读出整个文件

ReadLine()
作为一个字符串从文件中读出一行(直到回车符和换行)

Skip(numchars)
当从文件读出时忽略numchars个字符

SkipLine()
当从文件读出时忽略下一行

Write(string)
向文件写入字符串string

WriteLine(string)
向文件写入字符串string(可选)和换行符

WriteBlankLines(n)
向文件写入n个换行符

3. 写文本文件
一旦使用CreateTextFile、OpenTextFile或OpenAsTextStream方法以及ForWriting或ForAppending参数,创建一个对应于某个文件的TextStream对象,可以用下面的VBScript程序写文件和关闭文件:
' In vbscript:
objTStream.WriteLine "At last I can create files with VBScript!"
objTStream.WriteLine
objTStream.WriteLine "Here are three blank lines:"
objTStream.WriteBlankLines 3
objTStream.Write "... and this is "
objTStream.WriteLine "the last line."
objTStream.Close
或者用JScript:
// In jscript:
objTStream.WriteLine('At last I can create files with JScript! ');
objTStream.WriteLine();
objTStream.WriteLine('Here are three blank lines: ');
objTStream.WriteBlankLines(3);
objTStream.Write('... and this is ');
objTStream.WriteLine('the last line. ');
objTStream.Close();
4. 读文本文件
一旦使用CreateTextFile、OpenTextFile或OpenAsTextStream方法以及ForReading参数,创建一个对应于某个文件的TextStream对象,可以用下面的VBScript程序读文件和关闭文件:
' In vbscript:
'read one line at a time until the end of the file is reached
Do While Not objTStream.AtEndOfStream
'get the line number
intLineNum = objTStream.Line
'format it as a 4-character string with leading zeros
strLineNum = Right("000" & CStr(intLineNum), 4)
'get the text of the line from the file
strLineText = objTStream.ReadLine
Response.Write strLineNum & ": " & strLineText & "<BR>"
Loop
objTStream.Close
或用JScript:
// In jscript:
// read one line at a time until the end of the file is reached
while (! objTStream.AtEndOfStream) {
// get the line number
intLineNum = objTStream.Line;
//


文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【论坛讨论

   相关文章:
·ASP中巧用Response属性 ·第六课:ASP脚本循环语句
·在 Web 页上使用条件数值格式 ·连接数据库查询手册(不仅仅适用于asp)
·警惕"给你的FileSystemObject对象加把锁" ·用ASP做全文检索

   文章评论:(条)
  
 请留名: 匿名评论   点击查看所有评论 网管论坛
 

  责任编辑:一分  声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。