官术网_书友最值得收藏!

1.7.2 文件操作

表1-9列出了文件常用操作方法。

表1-9 文件常用操作方法

1. 創建文本文件

創建文本文件,可以使用FSO對象或Folder對象的CreateTextFile方法,格式如下:

fso.CreateTextFile(文件名,是否覆蓋同名文件,是否使用Unicode編碼)

后兩個參數可以省略,它們默認都為False。該方法返回的是一個TextStream對象,可以通過它對文本文件進行操作,具體使用方法請參見1.7.3節。

下例將在當前目錄下創建一個名為FileCreateTest.txt的文件。

FileCreate.asp

<%@codepage=936%>
<%
Response.Charset = "GBK"

'當前目錄下的FileCreateTest.txt
filePath = Server.MapPath(".") & "\FileCreateTest.txt"

Set fso = CreateObject("Scripting.FileSystemObject")

'創建文本文件(覆蓋同名文件,使用Unicode編碼)
Set txtFile = fso.CreateTextFile(filePath, True, True)

'寫入數據,并關閉
txtFile.WriteLine("Hello World.")
txtFile.Close

Set fso = Nothing
%>

如果不使用Unicode編碼,則將使用系統默認為編碼。如果是英文系統,使用WriteLine寫入中文的話,程序將報錯。

另外,FSO不支持二進制文件的讀寫。

2. 復制文件、移動文件和刪除文件

文件的復制、移動和刪除與文件夾的操作是極其類似的,只是方法名和路徑寫法不同,所以不贅述,直接舉例說明。

FileCopyMoveDelete.asp

<%@codepage=936%>
<%
Response.Charset = "GBK"

'當前目錄下的FileTest.txt
filePathA = Server.MapPath(".") & "\FileTest.txt"
filePathB = Server.MapPath(".") & "\FileTest2.txt"
filePathC = Server.MapPath(".") & "\FileTest3.txt"

Set fso = CreateObject("Scripting.FileSystemObject")

'將FileTest.txt復制為FileTest2.txt
fso.CopyFile filePathA, filePathB, True      '覆蓋同名文件

'將FileTest2.txt改名為FileTest3.txt
fso.MoveFile filePathB, filePathC

'刪除FileTest3.txt
fso.DeleteFile filePathC, True               '強制刪除只讀文件

'下面通過File對象來操作
Set fileA = fso.GetFile(filePathA)
fileA.Copy filePathB, True                   '復制

Set fileB = fso.GetFile(filePathB)
fileB.Move filePathC                         '移動

Set fileC = fso.GetFile(filePathC)
fileC.Delete True                            '刪除

Set fso = Nothing
%>

3. 打開文本文件

打開已經存在的文本文件,可以使用FSO對象的 OpenTextFile方法或File對象的OpenAsTextStream方法,格式如下:

fso.OpenTextFile(文件路徑,讀寫模式,是否創建新文件,使用的編碼)
file.OpenAsTextStream(讀寫模式,是否使用Unicode編碼)

參數“讀寫模式”的可選值如表1-10所示。

表1-10 “讀寫模式”的可選值

參數“使用的編碼”的可選值如表1-11所示。

表1-11 “使用的編碼”的可選值

參數“是否創建新文件”的默認值為False,如果為True,則文件不存在時會自動創建。

OpenTextFile方法和OpenAsTextStream方法返回的也是TextStream對象,可以通過它進行后續操作,具體使用方法請參見1.7.3節。

下例將創建一個文本文件,然后打開該文件,讀取一行數據。

FileOpenTextFile.asp

<%@codepage=936%>
<%
Response.Charset = "GBK"

'當前目錄下的FileOpenTest.txt
filePath = Server.MapPath(".") & "\FileOpenTest.txt"

Set fso = CreateObject("Scripting.FileSystemObject")

'打開文本文件(只讀方式,不創建新文件,使用Unicode編碼)
Set txtFile = fso.OpenTextFile(filePath,1, False, -1)

'讀取一行數據,并關閉
Response.Write txtFile.ReadLine()
txtFile.Close

Set fso = Nothing
%>
主站蜘蛛池模板: 襄汾县| 莎车县| 苏尼特左旗| 临漳县| 乌兰县| 肥西县| 江油市| 富川| 大冶市| 锡林浩特市| 建瓯市| 宁南县| 凤山县| 龙泉市| 陵川县| 枝江市| 同德县| 汽车| 茶陵县| 新竹市| 睢宁县| 虞城县| 紫阳县| 鹤庆县| 延川县| 元江| 宜君县| 蓬安县| 阜南县| 兰溪市| 三河市| 嘉义县| 会泽县| 浠水县| 郁南县| 射阳县| 宁武县| 习水县| 屯昌县| 五台县| 中方县|