<p>FSO系列之五**处理文件</p> <p>读取文件<br /> 要从文本文件读取数据,则使用 TextStream 对象的 Read、ReadLine 或 ReadAll 方法。下表描述了不同的任务应使用哪种方法。<br /> 任务 方法<br /> 从文件读取指定数量的字符。 Read<br /> 读取一整行(一直到但不包括新行字符)。 ReadLine<br /> 读取文本文件的整个内容。 ReadAll</p> <p><br /> 如果使用 Read 或 ReadLine 方法,并且想跳过数据的特殊部分,则使用 Skip 或 SkipLine 方法。read 方法的结果文本存在一个字符串中,该字符串可以显示在一个控件中,也可以用字符串函数(如 Left、Right 和 Mid)来分析,连接等等。</p> <p>下面的 VBScript 示例示范了如何打开文件,和如何写数据到文件中并从文件读取数据:</p> <p><br /> Sub ReadFiles<br /> Dim fso, f1, ts, s<br /> Const ForReading = 1<br /> Set fso = CreateObject(&quot;Scripting.FileSystemObject&quot;)<br /> Set f1 = fso.CreateTextFile(&quot;c:testfile.txt&quot;, True)<br /> &#39; 写一行。<br /> Response.Write &quot;Writing file<br /> &quot;<br /> f1.WriteLine &quot;Hello World&quot;<br /> f1.WriteBlankLines(1)<br /> f1.Close<br /> &#39; 读取文件的内容。<br /> Response.Write &quot;Reading file<br /> &quot;<br /> Set ts = fso.OpenTextFile(&quot;c:testfile.txt&quot;, ForReading)<br /> s = ts.ReadLine<br /> Response.Write &quot;File contents = &#39;&quot; &amp; s &amp; &quot;&#39;&quot;<br /> ts.Close<br /> End Sub</p> <p>下面的代码示范了在 JScript 中做同样的事:</p> <p>function ReadFiles()<br /> {<br /> var fso, f1, ts, s;<br /> var ForReading = 1;<br /> fso = new ActiveXObject(&quot;Scripting.FileSystemObject&quot;);<br /> f1 = fso.CreateTextFile(&quot;c:\testfile.txt&quot;, true);<br /> // 写一行。<br /> Response.Write(&quot;Writing file<br /> &quot;);<br /> f1.WriteLine(&quot;Hello World&quot;);<br /> f1.WriteBlankLines(1);<br /> f1.Close();<br /> // 读取文件的内容。<br /> Response.Write(&quot;Reading file<br /> &quot;);<br /> ts = fso.OpenTextFile(&quot;c:\testfile.txt&quot;, ForReading);<br /> s = ts.ReadLine();<br /> Response.Write(&quot;File contents = &#39;&quot; + s + &quot;&#39;&quot;);<br /> ts.Close();<br /> }</p> <p>移动、复制和删除文件<br /> FSO 对象模式各有两种方法移动、复制和删除文件,如下表所述。</p> <p>任务 方法<br /> 移动文件 File.Move 或 FileSystemObject.MoveFile<br /> 复制文件 File.Copy 或 FileSystemObject.CopyFile<br /> 删除文件 File.Delete 或 FileSystemObject.DeleteFile</p> <p><br /> 下面的 VBScript 示例,在驱动器 C 的根目录中创建一个文本文件,向其中写一些信息,然后把它移动到 tmp 目录中,并在 temp 中做一个备份,最后把它们从两个目录中删掉。</p> <p>要运行下面的示例,需要先在驱动器 C 的根目录中创建 tmp 和 temp 目录:</p> <p><br /> Sub ManipFiles<br /> Dim fso, f1, f2, s<br /> Set fso = CreateObject(&quot;Scripting.FileSystemObject&quot;)<br /> Set f1 = fso.CreateTextFile(&quot;c:testfile.txt&quot;, True)<br /> Response.Write &quot;Writing file<br /> &quot;<br /> &#39; 写一行。<br /> f1.Write (&quot;This is a test.&quot;)<br /> &#39; 关闭文件。<br /> f1.Close<br /> Response.Write &quot;Moving file to c:tmp<br /> &quot;<br /> &#39; 获取 C 的根目录(C:)中的文件的句柄。<br /> Set f2 = fso.GetFile(&quot;c:testfile.txt&quot;)<br /> &#39; 把文件移动到 tmp 目录。<br /> f2.Move (&quot;c:tmptestfile.txt&quot;)<br /> Response.Write &quot;Copying file to c:temp<br /> &quot;<br /> &#39; 把文件复制到 temp 目录。<br /> f2.Copy (&quot;c:temptestfile.txt&quot;)<br /> Response.Write &quot;Deleting files<br /> &quot;<br /> &#39; 获得文件当前位置的句柄。<br /> Set f2 = fso.GetFile(&quot;c:tmptestfile.txt&quot;)<br /> Set f3 = fso.GetFile(&quot;c:temptestfile.txt&quot;)<br /> &#39; 删除文件。<br /> f2.Delete<br /> f3.Delete<br /> Response.Write &quot;All done!&quot;<br /> End Sub</p> <p>下面的代码示范了在 JScript 中做同样的事:</p> <p>function ManipFiles()<br /> {<br /> var fso, f1, f2, s;<br /> fso = new ActiveXObject(&quot;Scripting.FileSystemObject&quot;);<br /> f1 = fso.CreateTextFile(&quot;c:\testfile.txt&quot;, true);<br /> Response.Write(&quot;Writing file<br /> &quot;);<br /> // 写一行。<br /> f1.Write(&quot;This is a test.&quot;);<br /> // 关闭文件。<br /> f1.Close();<br /> Response.Write(&quot;Moving file to c:\tmp<br /> &quot;);<br /> // 获取 C 的根</p>
T:0.007241s,M:252.04 KB
返回顶部 留言