您的位置:首页精文荟萃软件资讯 → 处理文件

处理文件

时间:2004/10/7 19:15:00来源:本站整理作者:蓝点我要评论(1)


            
             
              
             
            

               
               

            



            有两种主要的文件处理类型:

创建、添加或删除数据,以及读取文件
移动、复制和删除文件
创建文件
创建空文本文件(有时被叫做“文本流”)有三种方法。
第一种方法是用 CreateTextFile 方法。 下面的示例示范了在 VBScript 中如何用这种方法来创建文本文件:


Dim fso, f1
Set fso = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.CreateTextFile("c:\testfile.txt", True)

要在 JScript 中用这种方法,则使用下面的代码:

var fso, f1;
fso = new ActiveXObject("Scripting.FileSystemObject");
f1 = fso.CreateTextFile("c:\\testfile.txt", true);

请考察示例代码,来领会如何在 FileSystemObject 中使用 CreateTextFile 方法。
创建文本文件的第二种方法是,使用 FileSystemObject 对象的 OpenTextFile 方法,并设置 ForWriting 标志。在 VBScript 中,代码就像下面的示例一样:

Dim fso, ts
Const ForWriting = 2
Set fso = CreateObject("Scripting. FileSystemObject")
Set ts = fso.OpenTextFile("c:\test.txt", ForWriting, True)

要在 JScript 中使用这种方法来创建文本文件,则使用下面的代码:

var fso, ts;
var ForWriting= 2;
fso = new ActiveXObject("Scripting.FileSystemObject");
ts = fso.OpenTextFile("c:\\test.txt", ForWriting, true);

创建文本文件的第三种方法是,使用 OpenAsTextStream 方法,并设置 ForWriting 标志。要使用这种方法,在 VBScript 中使用下面的代码:

Dim fso, f1, ts
Const ForWriting = 2
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateTextFile ("c:\test1.txt")
Set f1 = fso.GetFile("c:\test1.txt")
Set ts = f1.OpenAsTextStream(ForWriting, True)

在 JScript 中,则使用下面示例中的代码:

var fso, f1, ts;
var ForWriting = 2;
fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CreateTextFile ("c:\\test1.txt");
f1 = fso.GetFile("c:\\test1.txt");
ts = f1.OpenAsTextStream(ForWriting, true);

添加数据到文件中
一旦创建了文本文件,使用下面的三个步骤向文件添加数据:

打开文本文件。
写入数据。
关闭文件。
要打开现有的文件,则使用 FileSystemObject 对象的 OpenTextFile 方法或 File 对象的 OpenAsTextStream 方法。
要写数据到打开的文本文件,则根据下表所述任务使用 TextStream 对象的 Write、WriteLine 或 WriteBlankLines 方法。

任务 方法
向打开的文本文件写数据,不用后续一个新行字符。 Write
向打开的文本文件写数据,后续一个新行字符。 WriteLine
向打开的文本文件写一个或多个空白行。 WriteBlankLines


请考察示例代码,来领会如何在 FileSystemObject 对象中使用 Write、WriteLine 和 WriteBlankLines 方法。

要关闭一个打开的文件,则使用 TextStream 对象的 Close 方法。

请考察示例代码,来领会如何在 FileSystemObject 中使用 Close 方法。


--------------------------------------------------------------------------------

注意  新行字符包含一个或几个字符(取决于操作系统),以把光标移动到下一行的开始位置(回车/换行)。注意某些字符串末尾可能已经有这个非打印字符了。

--------------------------------------------------------------------------------



下面的 VBScript 例子示范了如何打开文件,和同时使用三种写方法来向文件添加数据,然后关闭文件:


Sub CreateFile()
  Dim fso, tf
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set tf = fso.CreateTextFile("c:\testfile.txt", True)
  ' 写一行,并且带有新行字符。
  tf.WriteLine("Testing 1, 2, 3.")
  ' 向文件写三个新行字符。      
  tf.WriteBlankLines(3)
  ' 写一行。
  tf.Write ("This is a test.")
  tf.Close
End Sub
这个示例示范了在 JScript 中如何使用这三个方法:

function CreateFile()
{
  var fso, tf;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  tf = fso.CreateTextFile("c:\\testfile.txt", true);
  // 写一行,并且带有新行字符。
  tf.WriteLine("Testing 1, 2, 3.") ;
  // 向文件写三个新行字符。  
  tf.WriteBlankLines(3) ;
  // 写一行。
  tf.Write ("This is a test.");
  tf.Close();
}
读取文件
要从文本文件读取数据,则使用 TextStream 对象的 Read、ReadLine 或 ReadAll 方法。下表描述了不同的任务应使用哪种方法。
任务 方法
从文件读取指定数量的字符。 Read
读取一整行(一直到但不包括新行字符)。 ReadLine
读取文本文件的整个内容。 ReadAll


请考察示例代码,来领会如何在 FileSystemObject 中使用 ReadAll 和 ReadLine 方法。

如果使用 Read 或 ReadLine 方法,并且想跳过数据的特殊部分,则使用 Skip 或 SkipLine 方法。read 方法的结果文本存在一个字符串中,该字符串可以显示在一个控件中,也可以用字符串函数(如 Left、Right 和 Mid)来分析,连接等等。

下面的 VBScript 示例示范了如何打开文件,和如何写数据到文件中并从文件读取数据:


Sub ReadFiles
  Dim fso, f1, ts, s
  Const ForReading = 1
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f1 = fso.CreateTextFile("c:\testfile.txt", True)
  ' 写一行。
  Response.Write "Writing file
"
  f1.WriteLine "Hello World"
  f1.WriteBlankLines(1)
  f1.Close
  ' 读取文件的内容。
  Response.Write "Reading file
"
  Set ts = fso.OpenTextFile("c:\testfile.txt", ForReading)
  s = ts.ReadLine
  Response.Write "File contents = '" & s & "'"
  ts.Close
End Sub

下面的代码示范了在 JScript 中做同样的事:

function ReadFiles()
{
  var fso, f1, ts, s;
  var ForReading = 1;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  f1 = fso.CreateTextFile("c:\\testfile.txt", true);
  // 写一行。
  Response.Write("Writing file
");
  f1.WriteLine("Hello World");
  f1.WriteBlankLines(1);
  f1.Close();
  // 读取文件的内容。
  Response.Write("Reading file
");
  ts = fso.OpenTextFile("c:\\testfile.txt", ForReading);
  s = ts.ReadLine();
  Response.Write("File contents = '" + s + "'");
  ts.Close();
}

移动、复制和删除文件
FSO 对象模式各有两种方法移动、复制和删除文件,如下表所述。
任务 方法
移动文件 File.Move 或 FileSystemObject.MoveFile
复制文件 File.Copy 或 FileSystemObject.CopyFile
删除文件 File.Delete 或 FileSystemObject.DeleteFile


请考察示例代码,来领会在 FileSystemObject 中删除文件的两种方法。

下面的 VBScript 示例,在驱动器 C 的根目录中创建一个文本文件,向其中写一些信息,然后把它移动到 \tmp 目录中,并在 \temp 中做一个备份,最后把它们从两个目录中删掉。

要运行下面的示例,需要先在驱动器 C 的根目录中创建 \tmp 和 \temp 目录:


Sub ManipFiles
  Dim fso, f1, f2, s
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f1 = fso.CreateTextFile("c:\testfile.txt", True)
  Response.Write "Writing file
"
  ' 写一行。
  f1.Write ("This is a test.")
  ' 关闭文件。
  f1.Close
  Response.Write "Moving file to c:\tmp
"
  ' 获取 C 的根目录(C:\)中的文件的句柄。
  Set f2 = fso.GetFile("c:\testfile.txt")
  ' 把文件移动到 \tmp 目录。
  f2.Move ("c:\tmp\testfile.txt")
  Response.Write "Copying file to c:\temp
"
  ' 把文件复制到 \temp 目录。
  f2.Copy ("c:\temp\testfile.txt")
  Response.Write "Deleting files
"
  ' 获得文件当前位置的句柄。
  Set f2 = fso.GetFile("c:\tmp\testfile.txt")
  Set f3 = fso.GetFile("c:\temp\testfile.txt")
  ' 删除文件。
  f2.Delete
  f3.Delete
  Response.Write "All done!"
End Sub

下面的代码示范了在 JScript 中做同样的事:

function ManipFiles()
{
  var fso, f1, f2, s;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  f1 = fso.CreateTextFile("c:\\testfile.txt", true);
  Response.Write("Writing file
");
  // 写一行。
  f1.Write("This is a test.");
  // 关闭文件。
  f1.Close();
  Response.Write("Moving file to c:\\tmp
");
  // 获取 C 的根目录(C:\)中的文件的句柄。
  f2 = fso.GetFile("c:\\testfile.txt");
  // 把文件移动到 \tmp 目录。
  f2.Move ("c:\\tmp\\testfile.txt");
  Response.Write("Copying file to c:\\temp
");
  // 把文件复制到 \temp 目录。
  f2.Copy ("c:\\temp\\testfile.txt");
  Response.Write("Deleting files
");
  // 获得文件当前位置的句柄。
  f2 = fso.GetFile("c:\\tmp\\testfile.txt");
  f3 = fso.GetFile("c:\\temp\\testfile.txt");
  // 删除文件。
  f2.Delete();
  f3.Delete();
  Response.Write("All done!");
}

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 360快剪辑怎么使用 36金山词霸如何屏幕取词百度收购PPS已敲定!3

最新文章 微信3.6.0测试版更新了微信支付漏洞会造成哪 360快剪辑怎么使用 360快剪辑软件使用方法介酷骑单车是什么 酷骑单车有什么用Apple pay与支付宝有什么区别 Apple pay与贝贝特卖是正品吗 贝贝特卖网可靠吗

人气排行 xp系统停止服务怎么办?xp系统升级win7系统方电脑闹钟怎么设置 win7电脑闹钟怎么设置office2013安装教程图解:手把手教你安装与qq影音闪退怎么办 QQ影音闪退解决方法VeryCD镜像网站逐个数,电驴资料库全集同步推是什么?同步推使用方法介绍QQ2012什么时候出 最新版下载EDiary——一款好用的电子日记本