ASP TextStream 对象
TextStream 对象用于访问文本文件的内容。
实例
本例演示如何使用 FileSystemObject 的 OpenTextFile 方法来创建一个 TextStream 对象。TextStream 对象的 ReadAll 方法会从已打开的文本文件中取得内容。
<html>
<body>
<p>这就是文本文件中的文本:</p>
<%
Set fs=Server.CreateObject("Scripting.FileSystemObject")
Set f=fs.OpenTextFile(Server.MapPath("/example/aspe/testread.txt"), 1)
Response.Write(f.ReadAll)
f.Close
Set f=Nothing
Set fs=Nothing
%>
</body>
</html>
本例演示如何仅仅读取一个文本流文件的部分内容。
<html>
<body>
<p>这是从文本文件中读取的前 5 个字符:</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>
本例演示如何从一个文本流文件中读取一行内容。
<html>
<body>
<p>这是从文本文件中读取的第一行:</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>
本例演示如何从文本流文件中读取所有的行。
<html>
<body>
<p>这是从文本文件中读取的所有行:</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>
本例演示如何在读取文本流文件时跳过指定的字符数。
<html>
<body>
<p>文本文件中的前 4 个字符被略掉了:</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>
本例演示如何在读取文本流文件时跳过一行。
<html>
<body>
<p>文本文件中的第一行被略掉了:</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>
本例演示如何返回在文本流文件中的当前行号。
<html>
<body>
<p>这是文本文件中的所有行(带有行号):</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>
本例演示如何取得在文件中当前字符的列号。
<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>指针目前位于文本文件中的位置 " & f.Column & "。</p>")
f.Close
Set f=Nothing
Set fs=Nothing
%>
</body>
</html>
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 文件中。 |