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;
// format and convert to a string
strLineNum = '000' intLineNum.toString();
strLineNum = substr(strLineNum, strLineNum.length – 4, 4)
// get the text of the line from the file
strLineText = objTStream.ReadLine();
Response.Write(strLineNum ': ' strLineText '<BR>');
}
objTStream.Close();
5.5.3 TextStream对象举例
为了了解使用TextStream对象操作磨灭文件的几种方式,本书提供了一个VBScript示例页面,该页使用了大量的上述的代码。从示例的Chapter05主菜单页,选择链接“Working With the TextStream Object”打开show_textstream.asp页面。
该页显示了存储在磁盘上名为MyFile.txt的文件的文本内容。在<TEXTAREA>控件里显示的文本内容允许进行编辑,并且下面有三个按钮。三个按钮的作用分别是用<TEXTAREA>控件的内容更新(即取代)最初的文本,在已有文件内容的后面添加文本,或用初始的缺省内容重写文件,如图5-15所示:
图5-15 TextStream对象示例页面
1. 读取已存在的文本文件的内容
每次载入该页面,将打开文本文件并将读取的内容置入<TEXTAREA>控件。注意我们如何使用Server.MapPath方法得到文件MyFile.txt的绝对物理路径,该文件与示例页面在同一目录下。下面的程序创建FileSystemObject实例:
<%
strTextFile = Server.MapPath("MyFile.txt")
'create an instance of a FileSytemObject object
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
…
与书中本部分的大多数其他示例一样,该页包含一个<FORM>段以保存该页面的HTML控件。ACTION是当前页面,因此窗体的内容送回到同一页面。
每次载入该页面,<TEXTAREA>控件用文本文件的当前内容填充:
…
<FORM ACTION="<% = Request.ServerVariables("SCRIPT_NAME") %>" METHOD="POST">
The contents of the disk file <B><% = strTextFile %></B> are:<P>
<TEXTAREA NAME="txtContent" ROWS="10" COLS="50" WRAP="PHYSICAL">
<%
'open the text file as a TextStream object
Set objTStream = objFSO.OpenTextFile(strTextFile, ForReading)
'read one line at a time until the end of the file is reached
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




