ASP TextStream 对象


TextStream 对象用于访问文本文件的内容。

TextStream 对象

TextStream 对象用于访问文本文件的内容。

下面的代码会创建一个文本文件 (c:\test.txt),然后向此文件写一些文本(变量 f 是 TextStream 对象的一个实例):

<%
dim fs,f
set fs=Server.CreateObject("Scripting.FileSystemObject")
set f=fs.CreateTextFile("c:\test.txt",true)
f.WriteLine("Hello World!")
f.Close
set f=nothing
set fs=nothing
%>

如需创建 TextStream 对象的一个实例,您可以使用 FileSystemObject 对象的 CreateTextFile 方法或者 OpenTextFile 方法,也可以使用 File 对象的 OpenAsTextStream 方法。

TextStream 对象的属性和方法描述如下:

属性

属性描述
AtEndOfLine如果文件指针正好位于 TextStream 文件中行尾标记的前面,则该属性值返回 True;否则返回 False。
AtEndOfStream如果文件指针在 TextStream 文件末尾,则该属性值返回 True;否则返回 False。
Column返回 TextStream 文件输入流中的当前字符位置的列号。
Line返回 TextStream 文件中的当前行号。

方法

方法描述
Close关闭一个打开的 TextStream 文件。
Read从一个 TextStream 文件中读取指定数量的字符并返回结果。
ReadAll读取整个 TextStream 文件并返回结果。
ReadLine从一个 TextStream 文件读取一整行(到换行符但不包括换行符)并返回结果。
Skip当读取一个 TextStream 文件时跳过指定数量的字符。
SkipLine当读取一个 TextStream 文件时跳过下一行。
Write写入指定的文本到一个 TextStream 文件中。
WriteLine写入指定的文本和换行符到一个 TextStream 文件中。
WriteBlankLines写入指定数量的换行符到一个 TextStream 文件中。

在线实例

读取文本文件
本例演示如何从文本文件中读取内容。

<!DOCTYPE html>
<html>
<body>
<p>This is the text in the text file:</p>
<%
Set fs=Server.CreateObject("Scripting.FileSystemObject")

Set f=fs.OpenTextFile(Server.MapPath("testread.txt"), 1)
Response.Write(f.ReadAll)
f.Close

Set f=Nothing
Set fs=Nothing
%>
</body>
</html>

读取文本文件中的一个部分
本例演示如何仅仅读取一个文本流文件的部分内容。

<!DOCTYPE html>
<html>
<body>
<p>This is the first five characters from the text file:</p>

<%
Set fs=Server.CreateObject("Scripting.FileSystemObject")

Set f=fs.OpenTextFile(Server.MapPath("testread.txt"), 1)
Response.Write(f.Read(5))
f.Close

Set f=Nothing
Set fs=Nothing
%>

</body>
</html>

读取文本文件中的一行
本例演示如何从一个文本流文件中读取一行内容。

<!DOCTYPE html>
<html>
<body>
<p>This is the first line of the text file:</p>

<%
Set fs=Server.CreateObject("Scripting.FileSystemObject")

Set f=fs.OpenTextFile(Server.MapPath("testread.txt"), 1)
Response.Write(f.ReadLine)
f.Close

Set f=Nothing
Set fs=Nothing
%>

</body>
</html>

读取文本文件的所有行
本例演示如何从文本流文件中读取所有的行。

<!DOCTYPE html>
<html>
<body>
<p>This is all the lines in the text file:</p>

<%
Set fs=Server.CreateObject("Scripting.FileSystemObject")
Set f=fs.OpenTextFile(Server.MapPath("testread.txt"), 1)

do while f.AtEndOfStream = false
Response.Write(f.ReadLine)
Response.Write("<br>")
loop

f.Close
Set f=Nothing
Set fs=Nothing
%>

</body>
</html>

略过文本文件中的一部分
本例演示如何在读取文本流文件时跳过指定的字符数。

<!DOCTYPE html>
<html>
<body>
<p>The first four characters in the text file are skipped:</p>

<%
Set fs=Server.CreateObject("Scripting.FileSystemObject")

Set f=fs.OpenTextFile(Server.MapPath("testread.txt"), 1)
f.Skip(4)
Response.Write(f.ReadAll)
f.Close

Set f=Nothing
Set fs=Nothing
%>

</body>
</html>

略过文本文件中的一行
本例演示如何在读取文本流文件时跳过一行。

<!DOCTYPE html>
<html>
<body>
<p>The first line in the text file is skipped:</p>

<%
Set fs=Server.CreateObject("Scripting.FileSystemObject")

Set f=fs.OpenTextFile(Server.MapPath("testread.txt"), 1)
f.SkipLine
Response.Write(f.ReadAll)
f.Close

Set f=Nothing
Set fs=Nothing
%>

</body>
</html>

返回行数
本例演示如何返回在文本流文件中的当前行号。

<!DOCTYPE html>
<html>
<body>
<p>This is all the lines in the text file (with line numbers):</p>

<%
Set fs=Server.CreateObject("Scripting.FileSystemObject")
Set f=fs.OpenTextFile(Server.MapPath("testread.txt"), 1)

do while f.AtEndOfStream = false
Response.Write("Line:" & f.Line & " ")
Response.Write(f.ReadLine)
Response.Write("<br>")
loop

f.Close
Set f=Nothing
Set fs=Nothing
%>

</body>
</html>

取得列数
本例演示如何取得在文件中当前字符的列号。

<!DOCTYPE html>
<html>
<body>

<%
Set fs=Server.CreateObject("Scripting.FileSystemObject")

Set f=fs.OpenTextFile(Server.MapPath("testread.txt"), 1)
Response.Write(f.Read(2))
Response.Write("<p>The cursor is now standing in position " & f.Column & " in the text file.</p>")
f.Close

Set f=Nothing
Set fs=Nothing
%>

</body>
</html>