令中国铁道出版社 10.2 FileSystemObject( 3. Fileexists(判断文件是否存在) 实际上,我们经常会使用到文本文件储存数据。在 初次使用该文本文件时,通常文件是不存在的,我们可 以使用 CreateTextFile创建文本文件。而当再次使用该文 件时(文件已经产生),则我们可以使用 Open TextFile,并 将第二个参数改为 ForAppending模式,以便我们将数据 写入文件尾。产生上述文本文件的范例 Exists. asp如下 const for Appending=8 Set fso- Server CreateObject("Scripting FileSystemObject") FileName Server Map Path ("listconn bak") If fso File Exists( FileName) Then fp= fso. Open TextFile(ileName, for Appending, False) E Set fp=fso. Create File(FileName) End If 11
11 10.2 FileSystemObject的其他功能 3. FileExists (判断文件是否存在) 实际上,我们经常会使用到文本文件储存数据。在 初次使用该文本文件时,通常文件是不存在的,我们可 以使用CreateTextFile创建文本文件。而当再次使用该文 件时(文件已经产生),则我们可以使用OpenTextFile,并 将第二个参数改为ForAppending 模式,以便我们将数据 写入文件尾。产生上述文本文件的范例ExistsF.asp如下: const forAppending = 8 Set fso = Server.CreateObject("Scripting.FileSystemObject") FileName = Server.MapPath("listconn.bak") If fso.FileExists(FileName) Then Set fp = fso.OpenTextFile(FileName, forAppending, False) Else Set fp = fso.CreateTextFile(FileName) End If :
令中国铁道出版社 10.2 FileSystemObject 3 上面的写法我们若不用 Fileexists方法,也可以采用 OpenTextFile,然后将第二个参数以 for Appending(=8)及 Auto create(=True)来取代,一样可以完成上述的功能,而 且程序代码更为精简。第二种方法的ASP程序代码 ( NExistsF. asp)如下 const forAppending=8 Set fso= Server CreateObject("Scripting FileSystemObject") FileName=Server Mappath("listconn bak") Set fp= fso. Open TextFile(FileName, for Appending, True)
12 10.2 FileSystemObject的其他功能 上面的写法我们若不用FileExists方法,也可以采用 OpenTextFile,然后将第二个参数以forAppending(=8) 及 AutoCreate(=True) 来取代,一样可以完成上述的功能,而 且程序代码更为精简。第二种方法的ASP程序代码 (NExistsF.asp)如下: const forAppending = 8 Set fso = Server.CreateObject("Scripting.FileSystemObject") FileName = Server.MapPath("listconn.bak") Set fp = fso.OpenTextFile(FileName, forAppending, True) :
令中国铁道出版社 10.3File对象的 File对象的功能并不只是 OpenTextfile及 Create Textfile两个功能,除此之外还有其他的功能。详 细的功能说明如下 1. AtEndofStream(判断是否文件尾) 此属性用以判断是否为文件尾,这也是File对象最常使用的属 性之一。我们可以利用它判断是否已经读到文件尾,若已读到文件 尾则不再读取文件内容。下面是显示 xlistconn. asp源程序ASP范例 (Endofs. asp ): Set fso= Server CreateObject If fp AtEndofStream True (Scripting. FileSystemObject") The Set fp=fso. Open TextFile Response. Write“<br>”HTML (Server MapPath("listconn asp") 不会自动换行所以加上换行Tag Do While fp AtEndofStream < True End If s= fp ReadLine每次读取一条Loop 行)数据 fp. close关闭文件 Response. Write(Server fp= Nothing HTMLEncode(s) et fso= Nothing 18
13 10.3 File对象的其他功能 File对象的功能并不只是OpenTextFile及 CreateTextFile两个功能,除此之外还有其他的功能。详 细的功能说明如下: 1. AtEndOfStream(判断是否文件尾) 此属性用以判断是否为文件尾,这也是File对象最常使用的属 性之一。我们可以利用它判断是否已经读到文件尾,若已读到文件 尾则不再读取文件内容。下面是显示listconn.asp源程序ASP范例 (EndofS.asp): Set fso = Server.CreateObject ("Scripting.FileSystemObject") Set fp = fso.OpenTextFile (Server.MapPath("listconn.asp")) Do While fp.AtEndOfStream <> True s = fp.ReadLine ‘每次读取一条 (行)数据 Response.Write(Server. HTMLEncode(s)) If fp.AtEndOfStream <> True Then Response.Write “<br>” ‘HTML 不会自动换行,所以加上换行Tag End If Loop fp.close '关闭文件 Set fp = Nothing Set fso = Nothing
令中国铁道出版社 10.3File对象的 执行 Endofs. asp后显示 dlistconn. asp源程序,如下 图所示。 ahttp://127.0.0.1/chapter10/pages/endofs.asp-..0x 文件①)编辑〖)查看⑩收藏)工具①)帮助Q ⊙后退·②图的户搜索收藏 地址①)自p/71001/甲910/pe/6却囹转到链接” Set fs Server. CreateObject (Scripting FileSystemObject") FileNamel = Server MapPath("listconn bak") FileName2= Server MapPath("listconn $S$") fso MoveFile FileNamel, FileName 2 完毕 :9 Internet 14
14 10.3 File对象的其他功能 执行EndofS.asp后显示listconn.asp源程序,如下 图所示
令中国铁道出版社 10.3File对象的 2. ReadLine/ Writeline(读取写入一条数据) 文本文件的特性是数据必须是逐行读取,写入时 也一样。读取一行数据的方法是 ReadLine,写入则是 Writeline。下面是复制文本文件的范例 Read W. asp): Dim s Set fso= Server CreateObject("Scripting. File SystemObject") Set fpi= fso. Open TextFile(Server MapPath("listconn asp") Set fpo= fso. Create TextFile(Server. Map Path("listconnl asp") Do While fpi AtEndofStream < True s= fpi ReadLine由 Hlistconn. asp读取一条数据 fpo WriteLine s'写入一条数 据至 listconnl. asp Loop close 说明:文件 listconn. asp fpo. Close et fpi- nothing 复制完毕,复制后的文 Set fpo= Nothing 件名为 listconnl. asp Set fso= nothing 15
15 10.3 File对象的其他功能 2. ReadLine/WriteLine (读取/写入一条数据) 文本文件的特性是数据必须是逐行读取,写入时 也一样。读取一行数据的方法是ReadLine,写入则是 WriteLine。下面是复制文本文件的范例(ReadW.asp): <% Dim s Set fso = Server.CreateObject("Scripting.FileSystemObject") Set fpi = fso.OpenTextFile(Server.MapPath("listconn.asp")) Set fpo = fso.CreateTextFile(Server.MapPath("listconn1.asp")) Do While fpi.AtEndOfStream <> True s = fpi.ReadLine '由listconn.asp读取一条数据 fpo.WriteLine s '写入一条数据至listconn1.asp Loop fpi.close fpo.Close Set fpi = Nothing Set fpo = Nothing Set fso = Nothing %> 说明:文件listconn.asp 复制完毕,复制后的文 件名为listconn1.asp