电脑爱好者,提供IT资讯信息及各类编程知识文章介绍,欢迎大家来本站学习电脑知识。 最近更新 | 联系我们 RSS订阅本站最新文章
电脑爱好者
站内搜索: 
当前位置:首页>> Asp>>FSO:追加文字到文本文件:

FSO:追加文字到文本文件

来源:www.cncfan.com | 2006-9-8 | (有5224人读过)

在上述各种写入的范例中,都是使用文件打开方式OpenTextFile参数iomode都是以写入(ForWriting)设置,执行文字的写入操作。但是在使用这种写入方式时,会将文本文件的内容完全清除,然后再写入新的文字。如果只是想将新的文字加到原有的文件中,但是又想保留原有的文字时,可以将参数iomode设为ForAppending来达成这个目的。

程序范例:Ch13-08.asp

在原有的TextFile.txt文本文件中,使用TextStream对象的ForAppending自变量,将新的字符串加入到原有的文本文件中,执行结果如图16所示。


在EX13-08.asp程序执行完成之后,可以从上面的图例中清楚地看到,原有的文字内容依然存在,本范例程序只是将字符串添加到文件末尾。

程序内容

<!-- EX13-08.asp FSO 对象模式 ForAppending 自变量-执行范例 -->

<HTML>

<HEAD>

<TITLE>EX13-08.asp FSO 对象模式 ForAppending 自变量-执行范例</TITLE>

</HEAD>

<BODY>

<%

Dim Location, PathInfo, Strings

Dim fso, fs

For I = 1 To Len(Request.ServerVariables("PATH_TRANSLATED"))

If Mid(Request.ServerVariables("PATH_TRANSLATED"), I, 1) = "\" Then

Location = I

End if

Next

PathInfo = Mid(Request.ServerVariables("PATH_TRANSLATED") , 1, Location)

filename = PathInfo & "TextFile1.txt"

Set fso = CreateObject("Scripting.FileSystemObject")

Const ForReading = 1, ForWriting = 2, ForAppending = 8

Set fs = fso.OpenTextFile(filename, ForAppending, True) '设置文件的写入动作使用了ForAppending自变量

Response.Write "文本文件的写入:<Br>"

Strings = "这是 ForAppending 自变量的执行范例"

fs.WriteLine Strings

Response.Write "写入的文字:" & Strings & "<Br>"

fs.Close

Set fs = Nothing

Set fso = Nothing

%>

</BODY>

</HTML>




在前面的几种范例中,都是使用写入文本文件作为范例,现在介绍如何读出文本文件的内容。文本文件的读取正如前面所介绍的,共有下列三种读取方式:

一行一行读取。

逐字读取。

整个文件读取。

ObjectName.OpentextFile(filename, ForReading, [create[,format]])

在Read范例中,将简要说明并显示重要的范例执行结果。

下面,笔者提供几种读取文字内容的范例。

范例程序:EX13-09.asp

读取TextFile.txt文件中开头的5个字符,用户可以参考EX13-10.asp范例,修改第21行语句为:

vars = fs.Read (5)

例如:希望读取TextFile.txt文件中一整行字符,可以使用下列范例程序代码:

从Text File.txt 文件中读取开头的五个字符

vars = fs.ReadLine

范例程序:EX13-10.asp



从Text File.txt 文件中读取一行文字

程序内容

01: <!-- EX13-10.asp FSO 对象模式 ReadLine -执行范例 -->

02: <HTML>

03: <HEAD>

04: <META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">

05: <TITLE>EX13-10.asp FSO 对象模式 ReadLine -执行范例</TITLE>

06: </HEAD>

07: <BODY>

08: <%

09: Dim Location, PathInfo, Strings

10: Dim fso, fs

11: For I = 1 To Len(Request.ServerVariables("PATH_TRANSLATED"))

12: If Mid(Request.ServerVariables("PATH_TRANSLATED"), I, 1) = "\" Then

13: Location = I

14: End if

15: Next

16: PathInfo = Mid(Request.ServerVariables("PATH_TRANSLATED") , 1, Location)

17: filename = PathInfo & "TextFile1.txt"

18: Const ForReading = 1

19: Set fso = CreateObject("Scripting.FileSystemObject")

20: Set fs = fso.OpenTextFile(filename, ForReading)

21: vars = fs.ReadLine

22: Response.Write "打开的文件为:'" & filename & "'<Br>"

23: Response.Write "读取的文字为:'" & vars & "'"

24: fs.Close

25: Set fs = Nothing

26: Set fso = Nothing

27: %>

28: </BODY>

29: </HTML>

程序说明

第21行:整行文字的读取方式。

同样,如果仅仅读取五个字符时,则应该将“vars = fs.ReadLine”改为“vars = fs.Read(5)”。





读取整个文本文件,共有两种方法可供选择。这两种方法如下所示:

ReadLine:一行一行地读取,一直到文件的结尾,需要配合AtEndOfStream属性使用。

ReadAll:读取整个文本文件的内容。

下面将分别简述这两种方法的使用。

范例程序:EX13-11.asp

使用ReadLine方法并搭配“Do…Loop”循环、AtEndOfStream属性,读取整个TextFile.txt文件。

使用ReadLine读取整个文件的执行结果如图21所示。


使用 Read Line对象,读取整个TextFile.txt 文件

程序内容

16: PathInfo = Mid(Request.ServerVariables("PATH_TRANSLATED") , 1, Location)

17: filename = PathInfo & "TextFile1.txt"

18: Const ForReading = 1

19: Set fso = CreateObject("Scripting.FileSystemObject")

20: Set fs = fso.OpenTextFile(filename, ForReading)

21: Response.Write "打开的文件为:'" & filename & "'<Br>"

22: Response.Write "读取的文字为:<Br>"

23: Do While Not fs.AtEndOfStream

24: vars = fs.ReadLine

25: Response.Write vars & "<br>"

26: Loop

程序说明

第23~26行:使用“Do…Loop”循环控制的方式,判断是否已经到达TextStream的末端。

第24行:使用ReadLine读出的整行数据存到vars变量中。

范例程序:Ex13-12.asp

使用ReadAll方法并搭配“Do…Loop”循环、AtEndOfStream属性的方式,读取整个TextFile.txt文件的内容。

ReadAll方法的执行结果如图22所示。





使用 ReadAll对象,读取整个TextFile.txt 文件内容

程序内容

16: PathInfo = Mid(Request.ServerVariables("PATH_TRANSLATED") , 1, Location)

17: filename = PathInfo & "TextFile1.txt"

18: Const ForReading = 1

19: Set fso = CreateObject("Scripting.FileSystemObject")

20: Set fs = fso.OpenTextFile(filename, ForReading)

21: Response.Write "打开的文件为:'" & filename & "'<Br>"

22: Response.Write "读取的文字为:<Br>"

23: vars = fs.Readall

24: vars = Replace(vars , Chr(10) , "<br>")

25: Response.Write vars & "<br>"

26: fs.Close

程序说明

第23行:使用ReadAll方法读取整个文件的内容字符串。

第24行:在文本文件中,使用“Chr(10)”作为换行指令,但在Web Page上却无法支持。因此,使用Replace函数,将所有的“Chr(10)”字符替换成网页换行标记“<br>”。

第25行:显示文本文件的实际内容。

Asp热门文章排行
网站赞助商
购买此位置

 

关于我们 | 网站地图 | 文档一览 | 友情链接| 联系我们

Copyright © 2003-2019 电脑爱好者 版权所有 备案号:鲁ICP备09059398号