ASP TextStream 对象

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

实例

读文件

本例演示如何使用 FileSystemObject 的 OpenTextFile 方法来创建一个 TextStream 对象。TextStream 对象的 ReadAll 方法会从已打开的文本文件中取得内容。

  1. <html>
  2. <body>
  3. <p>这就是文本文件中的文本:</p>
  4. <%
  5. Set fs=Server.CreateObject("Scripting.FileSystemObject")
  6. Set f=fs.OpenTextFile(Server.MapPath("/example.mde/testread.txt"), 1)
  7. Response.Write(f.ReadAll)
  8. f.Close
  9. Set f=Nothing
  10. Set fs=Nothing
  11. %>
  12. </body>
  13. </html>

读文本文件中的一个部分

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

  1. <html>
  2. <body>
  3. <p>这是从文本文件中读取的前 5 个字符:</p>
  4. <%
  5. Set fs=Server.CreateObject("Scripting.FileSystemObject")
  6. Set f=fs.OpenTextFile(Server.MapPath("testread.txt"), 1)
  7. Response.Write(f.Read(5))
  8. f.Close
  9. Set f=Nothing
  10. Set fs=Nothing
  11. %>
  12. </body>
  13. </html>

读文本文件中的一行

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

  1. <html>
  2. <body>
  3. <p>这是从文本文件中读取的第一行:</p>
  4. <%
  5. Set fs=Server.CreateObject("Scripting.FileSystemObject")
  6. Set f=fs.OpenTextFile(Server.MapPath("testread.txt"), 1)
  7. Response.Write(f.ReadLine)
  8. f.Close
  9. Set f=Nothing
  10. Set fs=Nothing
  11. %>
  12. </body>
  13. </html>

读取文本文件的所有行

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

  1. <html>
  2. <body>
  3. <p>这是从文本文件中读取的所有行:</p>
  4. <%
  5. Set fs=Server.CreateObject("Scripting.FileSystemObject")
  6. Set f=fs.OpenTextFile(Server.MapPath("testread.txt"), 1)
  7. do while f.AtEndOfStream = false
  8. Response.Write(f.ReadLine)
  9. Response.Write("<br />")
  10. loop
  11. f.Close
  12. Set f=Nothing
  13. Set fs=Nothing
  14. %>
  15. </body>
  16. </html>

略过文本文件的一部分

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

  1. <html>
  2. <body>
  3. <p>文本文件中的前 4 个字符被略掉了:</p>
  4. <%
  5. Set fs=Server.CreateObject("Scripting.FileSystemObject")
  6. Set f=fs.OpenTextFile(Server.MapPath("testread.txt"), 1)
  7. f.Skip(4)
  8. Response.Write(f.ReadAll)
  9. f.Close
  10. Set f=Nothing
  11. Set fs=Nothing
  12. %>
  13. </body>
  14. </html>

略过文本文件的一行

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

  1. <html>
  2. <body>
  3. <p>文本文件中的第一行被略掉了:</p>
  4. <%
  5. Set fs=Server.CreateObject("Scripting.FileSystemObject")
  6. Set f=fs.OpenTextFile(Server.MapPath("testread.txt"), 1)
  7. f.SkipLine
  8. Response.Write(f.ReadAll)
  9. f.Close
  10. Set f=Nothing
  11. Set fs=Nothing
  12. %>
  13. </body>
  14. </html>

返回行数

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

  1. <html>
  2. <body>
  3. <p>这是文本文件中的所有行(带有行号):</p>
  4. <%
  5. Set fs=Server.CreateObject("Scripting.FileSystemObject")
  6. Set f=fs.OpenTextFile(Server.MapPath("testread.txt"), 1)
  7. do while f.AtEndOfStream = false
  8. Response.Write("Line:" & f.Line & " ")
  9. Response.Write(f.ReadLine)
  10. Response.Write("<br />")
  11. loop
  12. f.Close
  13. Set f=Nothing
  14. Set fs=Nothing
  15. %>
  16. </body>
  17. </html>

取得列数

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

  1. <html>
  2. <body>
  3. <%
  4. Set fs=Server.CreateObject("Scripting.FileSystemObject")
  5. Set f=fs.OpenTextFile(Server.MapPath("testread.txt"), 1)
  6. Response.Write(f.Read(2))
  7. Response.Write("<p>指针目前位于文本文件中的位置 " & f.Column & "。</p>")
  8. f.Close
  9. Set f=Nothing
  10. Set fs=Nothing
  11. %>
  12. </body>
  13. </html>

TextStream 对象

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

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

  1. <%
  2. dim fs, f
  3. set fs=Server.CreateObject("Scripting.FileSystemObject")
  4. set f=fs.CreateTextFile("c:\test.txt",true)
  5. f.WriteLine("Hello World!")
  6. f.Close
  7. set f=nothing
  8. set fs=nothing
  9. %>

如需创建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 文件中。