asp搞不懂什么意思

来源:百度知道 编辑:UC知道 时间:2024/06/09 05:32:47
Set FileObject = Server.CreateObject("Scripting.FileSystemObject")
Set InStream = FileObject.OpenTextFile ("C:\Documents and Settings\Administrator\桌面\host\asp\data.id", 1, false, False)
number = Cstr(InStream.Readline+1)
Set OutStream = FileObject.CreateTextFile ("C:\Documents and Settings\Administrator\桌面\host\asp\data.id", True, False)
OutStream.WriteLine number
几个疑点。为什么是先OPEN 不是先create.而且OPEN后面的参数是是FALSE,就是没有这个文件也不创建还这么打开,不就报错了吗??还有这个
number = Cstr(InStream.Readline+1) 为什么要+1呢 这个是网易教程里的。有错吗??
Microsoft VBScript 运行时错误 '800a0035'

文件未找到

\asp\bbs.asp, line 17
我用上面的方法就是提示这样的错误,看代码明明是先OpenTextFile,可是OpenTextFile后面的参数是false,就是没有这个文件时也不创建,这样代码读到OpenTextFile时,不就会因为找不到这个文件,而提示“文件未找到吗”。我把 false又提示:输入超出了文件尾

\asp\bbs.asp, line 18

请高手帮忙!!!!不胜感激!

这是ASP服务器的一个组件功能,FSO常说的,也是老生常谈,不过这都是基本的语句简单的很,可能是你没有接触过FSO的原因!

第一句,建立FSO对象,我想你是明白的!
第二句,利用这个FSO对象打开一个文件,将内容放到instream中,而instream是一个stream对象同outstream对象是,是一个文本流对象,往往在前边可能会有这样的定义:
set instream = server.createObject("Script.Stream")以指明对象的类型.
第三行是查看文本流的行数,你呆以想像成一个记事本,里边有多少行的,行号与行数的关系就是加1嘛.
第四句显示是建立一个文件.
也就是说你可能不太明白FSO对象中的OpenTextFile(打开文件)与CreateTextFile(建立文件)这两个方法而已.

OpenTextFile是打开一个文件,将其内容返回,第一个参数是文件的绝对地址,如果是相对地址时请用server.MapPath方法去转换,第二个是打开方式,可选参数,也就是只读打开,读写打开还是追加方式打开.1是只读(ForRead),2是读写(ForWrite),8是追加(ForAppend).第二个参数也是一个可选的,如果是false或0则表示是如果该文件不存在时不自动创建,如是true或是非0则表示若文件不存在时自动创建一个文件.第四个可能不太好理解,是反映的编码方式,如果是false表示是ASCII,一般是用来表示二进行的,如果是true是unicode方式的.
CreateTextFile是建一个文件,其第一个参数也是指文件的地址,同OpenTextFile的第一个参数,而第二个也是一个可选参数,意思在于如果存在同名文件是否盖掉.当然,存储时也涉及一个编码问题,第二个参数与OpenTextFile的最后一个参数的作用于是相同的!
原因很简单,你开始读txtcounter.txt文件时,它里面的内容是空的,所以number=Out.RealLine读不出来,就会提示超出文尾这样的错误!
解决方法:
手工为txtcounter.txt随便添加一个数字
一他的我觉得没有什么