<p>FSO的几个应用函数</p> <p>1,读取文件中所有字符的函数<br /> Function FSOFileRead(filename) <br /> filename = Server.mappath(filename)<br /> Set fso = Server.CreateObject(&quot;Scripting.FileSystemObject&quot;)<br /> if not fso.fileExists(filename) then exit function <br /> Set cnrs = fso.OpenTextFile(filename,1)<br /> While Not cnrs.AtEndOfStream<br /> rsline = cnrs.ReadLine<br /> rsline = server.HTMLEncode(rsline)<br /> Response.Write(rsline &amp; &quot;&lt;br&gt;&quot;)<br /> Wend<br /> end Function<br />   其实就是通过ReadLine(读取行),通过 While Not cnrs.AtEndOfStream 的条件进行循环读取行,来达到读取文件中所有字符。当然也可以使用ReadAll代替多个ReadLine,但主要缺点是将格式进行换行等问题需要再次解决。<br />   引用函数 call FSOFileRead(&quot;xxx文件&quot;) 即可<br />   2,读取文件中某一行中所有字符的函数<br /> Function FSOlinedit(filename,lineNum) <br /> if linenum &lt; 1 then exit function <br /> filename = Server.mappath(filename)<br /> set fso = Server.CreateObject(&quot;Scripting.FileSystemObject&quot;) <br /> if not fso.fileExists(filename) then exit function <br /> set f = fso.opentextfile(filename,1) <br /> if not f.AtEndofStream then <br /> tempcnt = f.readall <br /> f.close <br /> set f = nothing <br /> temparray = split(tempcnt,chr(13)&amp;chr(10)) <br /> if lineNum&gt;ubound(temparray)+1 then <br /> exit function <br /> else <br /> FSOlinedit = temparray(lineNum-1) <br /> end if <br /> end if <br /> Response.Write(FSOlinedit)<br /> end Function<br />   这次即使用了readall方法,通过split函数将读取的内容以换行为条件,进行数组的定义,提取 lineNum-1(数组从0记数) 所对应的数组值即为 读取的该行值 ,也就是该行中所有的字符了。<br />   函数的调用 call FSOlinedit(&quot;xxx文件&quot;,35) 表示显示xxx文件的第35行内容<br />   3,读取文件中最后一行内容的函数<br /> Function FSOlastline(filename) <br /> filename = Server.mappath(filename) <br /> set fso = Server.CreateObject(&quot;Scripting.FileSystemObject&quot;) <br /> if not fso.fileExists(filename) then exit function <br /> set f = fso.opentextfile(filename,1) <br /> if not f.AtEndofStream then <br /> tempcnt = f.readall <br /> f.close <br /> set f = nothing <br /> temparray = split(tempcnt,chr(13)&amp;chr(10)) <br /> FSOlastline = temparray(ubound(temparray)) <br /> end if<br /> Response.Write(FSOlastline)<br /> end function<br />   其实和读取某一行的函数类似,主要即是 数组的上界ubound值 就是最末的值 ,故为最后一行。函数的引用也很简单。</p>
返回顶部 留言