分享
 
 
 

fso 对象的研究

王朝other·作者佚名  2006-12-16
窄屏简体版  字體: |||超大  

Option Explicit

Dim fsoTest As New FileSystemObject

Dim folder1 As Folder

并且分别在三个命令按钮的click事件输入以下代码:

Private Sub CmdCreate_Click()

' 获取 Folder 对象。

Set folder1 = fsoTest.GetFolder(“C:")

'创建文件夹

fsoTest.CreateFolder (“C:Test")

MsgBox “folder C:Test has created"

End Sub

Private Sub CmdDelete_Click()

' 获取 Drive 对象。

Set folder1 = fsoTest.GetFolder(“C:")

'删除文件夹

fsoTest.DeleteFolder (“C:Test")

MsgBox“folder C:Test has deleted"

End Sub

Private Sub CmdGetPro_Click()

'获取文件夹的有关信息

Dim sReturn As String

Set folder1 = fsoTest.GetFolder(“C:Windows")

'sReturn = “The folder's Attributes is " & folder1.Attributes & vbCrLf

'获取最近一次访问的时间

sReturn = sReturn & “The folder's last access time is " & folder1.DateLastAccessed & vbCrLf

'获取最后一次修改的时间

sReturn = sReturn & “The folder's last modify time is " & folder1.DateLastModified & vbCrLf

'获取文件夹的大小

sReturn = sReturn & “The folder's size is " & FormatNumber(folder1.Size / 1024, 0)

sReturn = sReturn & “Kb" & vbCrLf

'判断文件或文件夹类型

sReturn = sReturn & “The type is " & folder1.Type & vbCrLf

MsgBox sReturn

End Sub

上述代码中提到的CreateFolder方法的语法形式为object.CreateFolder(foldername)。foldername指定了要创建的文件夹的名称,而DeleteFolder方法的语法形式为object.DeleteFolder folderspec[,force],其中,folderspec用来指定要删除的文件夹的名称,force是一个可选的布尔型参数,如果希望删除只读属性的文件夹则将该值设为TRUE,默认为FALSE。至于代码中用到的 Folder 对象的属性限于篇幅,就不详细介绍了,读者可参考VB文档中的相关内容。

(四)File对象和TextStream对象

由于有关File对象的复制,删除,移动等操作和Folder对象类似,所以这部分内容就不再重复。这里主要讲述利用File对象和TextStream对象操作文本文件。

通常对文本文件的操作包括在文本文件中创建数据,在文本文件中添加数据,删除文本文件的数据等操作。这些操作都可以通过File对象和FileSystemObject对象的相关方法完成。不过在使用之前,首先要创建一个文本文件,这可以通过三种方法完成。一种方法是使用FileSystemObject对象的 CreateTextFile 方法。要创建一个空文本文件,可以用以下语句:

Dim fsoTest As New FileSystemObject, fil1 As File

Set fil 1= fsoTest.CreateTextFile(“c: estfile.txt", True)

第二种方法是使用 FileSystemObject 对象带 ForWriting 标志设置的 OpenTextFile 方法,

Dim fsoTest As New FileSystemObject, ts1 As New TextStream

Set ts1 = fsoTest.OpenTextFile(“c: estfile.txt", ForWriting)

第三种方法是使用File对象的带 ForWriting 标志设置的 OpenAsTextStream 方法:

Dim fsoTest As New FileSystemObject, fil 1As File, ts 1As TextStream

Set fsoTest = CreateObject(“Scripting.FileSystemObject")

fsoTest.CreateTextFile (“c: estfile.txt")

Set fil1 = fsoTest.GetFile(“c: estfile.txt")

Set ts1 = fil1.OpenAsTextStream(ForWriting)

其中CreateTextFile方法的第一个参数用来指定,第二个参数用来指定如果磁盘上已经存在要创建的文件是否覆盖,TRUE表示覆盖,FALSE表示不覆盖,省略表示不覆盖;OpenTextFile方法的第一个参数确定要打开的文本文件,第二个参数表示对该文件进行写操作;OpenAsTextStream方法的参数和OpenTextFile方法的第二个参数含义相同。

在创建了写入数据的文本之后就可以利用TextStream 对象的 Write 或 WriteLine 方法了,它们之间的区别在于 WriteLine 在指定的字符串末尾添加换行符,而Write方法没有。如果想要向文本文件中添加一个空行,可以使用 WriteBlankLines 方法。 在完成写的动作之后,用Close方法关闭打开的文本文件。如果要读取一个存在的文本文件的内容,就要用到 TextStream 对象的 Read、 ReadLine 或 ReadAll 方法;这些方法的区别是 Read:从一个文件中读取指定数量的字符 ;ReadLine:读取一整行(紧跟,但不包括,换行符); ReadAll :读取一个文本文件的所有内容。下面在一个VB的工程中演示上述的效果。

在VB中新建一个工程,然后在Form1上添加两个命令按钮,然后输入以下代码:

Private Sub CmdRead_Click()

Dim fsoTest As New FileSystemObject, file1 As File, ts As TextStream, s As String

Set file1 = fsoTest.GetFile(“C: estfile.txt")

Set ts = file1.OpenAsTextStream(ForReading)

'读取一行

s = ts.ReadLine

MsgBox s

ts.Close

End Sub

Private Sub CmdWrite_Click()

Dim txtfile As File, ts As TextStream

Set txtfile = fsoTest.GetFile(“c: estfile.txt")

Set ts = txtfile.OpenAsTextStream(ForWriting)

'使用Write方法写入一行。

ts.Write (“This is only a Test")

' 写入一行带有换行符的文本。

ts.WriteLine (“Testing 1, 2, 3.")

' 向文件中写入三个换行符。

ts.WriteBlankLines (3)

ts.Close

End Sub

在这里我们假设已经在磁盘上建立了一个名为testfile.txt的文件。在按下F5运行时,先单击Write写入数据,然后按下Read读取数据。

实例:

<%

dim startime

StartTime=timer()%>

<%if request("flag")="" then%>

<form name="form1" method="post" action="fso.asp">

Create a folder

<input type="text" name="name">

<input type=hidden name=flag value=ok>

<input type="submit" name="Submit" value="Submit">

</form>

<%else

Dim Name

Name = Request("Name")

set fs=createobject("scripting.filesystemobject")

MyFolder=server.mappath(name)

If NOT fs.folderexists(MyFolder) then

fs.createfolder(MyFolder)

else

fs.DeleteFolder (MyFolder)

End If

If fs.folderexists(MyFolder) then

%> Folder created successfully! Called

<%=MyFolder%>

<%Else%>

There has been an error.

<%End If

end if

%>

<%

dim endtime

endtime=timer()%>

<%Response.Write FormatNumber((endTime-StartTime)*1000,2) & " ms"%>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有