zoukankan      html  css  js  c++  java
  • File System Object(FSO对象)A

    FSO对象模型包含在Scripting 类型库 (Scrrun.Dll)中,它同时包含了Drive、Folder、File、FileSystemObjectTextStream五个对象:

    1、Drive用来收集驱动器的信息,如可用磁盘空间或驱动器的类型

    2、Folder用于创建、删除或移动文件夹,同时可以进行向系统查询文件夹的路径等操作

    3、File的基本操作和Folder基本相同,所不同的是Files的操作主要是针对磁盘上的文件进行的

    4、FileSystemObject是FSO对象模型中最主要对象,它提供了一套完整的可用于创建、删除文件和文件夹,收集驱动器、文件夹、文件相关信息的方法。需要注意的是,FSO对象模型提供的方法是冗余的,也就是说在实际使用中,FSO对象模型中包含的不同对象的不同方法进行的却是同样的操作,而且FileSystemObject对象的方法直接作用于其余对象,所以在后面的文章中并没有单独提到FileSystemObject对象,千万不要以为没有提到就不重要,事实上FileSystemObject对象在整个FSO对象模型中无处不在

    5、TextStream对象则是用来完成对文件的读写操作的

    一、创建FSO对象

    1、方法将一个变量声明为FSO对象类型:

    由于FSO对象包含在Scripting 类型库 (Scrrun.Dll)中,所以在使用前首先需要在在工程中引用这个文件,单击“工程”,“引用”,然后在“引用”对话框中选中“Microsoft Scripting Runtime”前的复选框,然后单击“确定”。

    1 Dim FSOTest As New FileSystemObject '前期绑定优点对象的方法属性自动列出成员、速度

    2、方法通过CreateObject方法创建一个FSO 对象:

    1 Dim FsoTest As Variant
    2 Set FsoTest = CreateObject("Scripting.FileSystemObject") '后期绑定 优点:不需要工程引用兼容性好

    二、Drive对象

     Drive只有属性:

    1. AvailableSpace:返回在指定的驱动器或网络共享上的用户可用的空间容量

    2. DriveLetter:返回某个指定本地驱动器或网络驱动器的字母,这个属性是只读的。

    3. DriveType:返回指定驱动器的磁盘类型

    4. FileSystem:返回指定驱动器使用的文件系统类型

    5. FreeSpace:返回指定驱动器上或共享驱动器可用的磁盘空间,这个属性是只读的。

    6. IsReady:确定指定的驱动器是否准备好。

    7. Path :返回指定文件、文件夹、或驱动器的路径

    8. RootFolder:返回一个 Folder 对象,该对象表示一个指定驱动器的根文件夹。只读属性。

    9. SerialNumber:返回用于唯一标识磁盘卷标的十进制序列号。

    10. ShareName:返回指定驱动器的网络共享名

    11. TotalSize:以字节为单位,返回驱动器或网络共享的总空间大小

    12. VolumeName:设置或返回指定驱动器的卷标名

    例子:

     1 Sub DriveTest()
     2 Dim FsoTest As New FileSystemObject
     3 Dim Drv As Drive, sReturn As String
     4 
     5     Set Drv = FsoTest.GetDrive("C:")
     6     sReturn = "Drive " & "C:" & vbCrLf
     7     sReturn = sReturn & "VolumeName" & Drv.VolumeName & vbCrLf
     8      'VolumeName:设置或返回指定驱动器的卷标名
     9      
    10     sReturn = sReturn & "Total Space: " & FormatNumber(Drv.TotalSize / 1024, 0)
    11     'TotalSize:以字节为单位,返回驱动器或网络共享的总空间大小
    12     
    13     sReturn = sReturn & "Kb" & vbCrLf
    14     sReturn = sReturn & "Free Space: " & FormatNumber(Drv.FreeSpace / 1024, 0)
    15     'FreeSpace:返回指定驱动器上或共享驱动器可用的磁盘空间,这个属性是只读的
    16     
    17     sReturn = sReturn & "Kb" & vbCrLf
    18     
    19     sReturn = sReturn & "FileSystem:" & Drv.FileSystem & vbCrLf
    20     'FileSystem:返回指定驱动器使用的文件系统类型
    21     Debug.Print sReturn
    22 End Sub

    三、Folder对象

    FileSystemObject对象有关文件夹的方法:(注意这里对象是FileSystemObject)

    1. CreateFolder:创建一个文件夹。

    2. DeleteFolder:删除一个文件夹。

    3. MoveFolder:移动一个文件夹。

    4. CopyFolder:复制一个文件夹。

    5. FolderExists:查找一个文件夹是否驱动器上。

    6. GetFolder:获得已有Folder对象的一个实例。

    7. GetParentFolderName:找出一个文件夹的父文件夹的。

    8. GetSpecialFolder:找出系统文件夹的路径。

    Folder对象的方法:

    1. Delete :删除一个文件夹。

    2. Move :移动一个文件夹。

    3. Copy:复制一个文件夹。

    4. Name:检索文件夹的名称。

    四、File对象

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

    例子:

     1 Sub FileTest()
     2     Dim FsoTest As New FileSystemObject
     3     Dim TxS As TextStream
     4     If FsoTest.FileExists("c:	estfile.txt") = False Then
     5         Set TxS = FsoTest.CreateTextFile("c:	estfile.txt") '不存在File需要先创建
     6     Else
     7         Set TxS = FsoTest.OpenTextFile("c:	estfile.txt", ForWriting)
     8     End If
     9     '写入数据
    10     With TxS
    11         TxS.WriteLine "hello word"
    12         .Close
    13     End With
    14     
    15     '读取数据
    16     With FsoTest.OpenTextFile("c:	estfile.txt", ForReading)
    17         Debug.Print .ReadLine
    18         .Close
    19     End With
    20 End Sub
  • 相关阅读:
    2017年总结
    计算机基础之进制转换详解
    随机总数字里面选取随机数字进行随机排序案例(JAVA实现)
    XML学习入门
    位运算从入门到入狱第一弹----原创!
    MYSQL数据库引擎区别详解
    时间戳
    数据库三大范式整理
    数组
    JS全选与不选、反选
  • 原文地址:https://www.cnblogs.com/Ionefox/p/10252611.html
Copyright © 2011-2022 走看看