当前位置:文档之家› VB第8章文件操作PPT

VB第8章文件操作PPT


GetFileSystemEntries方法也可以使用通配符,获得符合条件的文件夹和文件名。
例如,要获得C:\WinNT下所有包含“system”的文件夹和文件名,使用下面的语
句:
Dim myFiles () As String myFiles = Directory.GetFileSystemEntries ( "C\ WinNT" , "*system*" )
myDrv中,并将数组中所有元素放到一个组合框ComboBox1中: Dim myDrv() , x As String myDrv = Directory.GetLogicalDrives() For Each x In myDrv ComboBox1.Items.Add(x) Next x
6)GetDirectories方法 GetDirectories方法的功能是返回一个字符串数组,其中包括指定文件夹的所 有子文件夹的完整路径名,不包括子文件夹中的子文件夹名。调用的语法格式如 下:
1)CreateSubDirectory方法
CreateSubDirectory方法的功能是在当前实例所指定的文件夹下建立一个新文
件夹,同时返回一个DirectoryInfo对象来代表新子文件夹,调用的语法格式如下: 对象名.CreateSubDirectory( path ) 例如,在C盘根文件夹中创建一个名为temp的子文件夹,示例如下: Dim di As New DirectoryInfo("C:\ ") Di.CreateSubDirectory("temp" ) CreateSubDirectory方法还可以一次建立多级文件夹,示例如下: Dim di As New DirectoryInfo( "C:\ " ) Di.CreateSubDirectory( "dir1\dir2\dir3" )
8.2.1 文件夹操作 对文件夹操作主要利用Directory和DirectoryInfo两个类来实现,它们都是 System.IO名称空间的成员,因此在使用这两个类之前,需要先引入System.IO名称 空间,引入的语句如下:
Imports System.IO
' 引入System.IO名称空间。
3)Exists方法 Exists方法的功能是判断指定的文件夹是否存在,若存在则返回一个逻辑值 True;否则返回False。调用的语法格式如下: Directory.Exists( path ) 如果指定的文件夹不存在,Directory类的很多方法会失败,因此在做文件夹 操作前,可以先用Exists方法确定文件夹是否存在,示例如下: If Directory.Exists("C:\temp" ) then Directory.Delete("C:\ temp" , True )
' 在输出窗口显示文件夹或文件名。
Next
除了前面介绍的方法,Directory对象还有其他的一些方法,见表8.4,读者可 查阅资料或在线帮助,了解它们的功能和用法。
2.DirectoryInfo类 创建DirectoryInfo对象的一个实例是通过调用它的构造函数来实现的,语法 格式如下: Dim 对象名As New DirectoryInfo ( path ) 例如,下面语句创建了一个关于C盘根文件夹的DirectoryInfo对象: Dim di As New DirectoryInfo( "C:\ " )
4)Move方法 Move方法的功能是移动指定的整个文件夹到同一个磁盘中的另外一个位置。 Move方法具有改名功能,即将源文件夹移动到目标文件夹指定的位置,但不是 移动到目标文件夹中,而是将源文件夹名改为目标文件夹名。调用它的语法格式 如下: Directory.Move( source , destination ) 例如,将C盘根文件夹中名为temp的子文件夹移动到“C:\”中,并改名为 dir1,方法如下: Directory.Move("C:\temp" , ives方法
GetLogicalDrives方法的功能是返回一个字符串数组,其中包括当前计算机中
所有逻辑驱动器名,每个驱动器名是形如“C:\”的字符串。调用的语法格式如下:
Directory.GetLogicalDrives()
例如,下面示例获得本机所有逻辑驱动器的名字,将其存放到字符串数组
Directory.GetDirectories( path , pattern) 例如,下面示例获得C盘dir1文件夹的所有子文件夹的名字,将其存放到字符 串数组myDrv中:
Dim myDrv() As String
myDrv = Directory.GetDirectories("C:\dir1") GetDirectories方法还可以使用通配符,获得符合条件的子文件夹名。例如, 要获得C:\WinNT下所有名字中包含“system”的子文件夹名,使用下面的语句:
Dim myDrv() As String
myDrv = Directory.GetDirectories("C:\WinNT" , "*system*" )
7)GetFiles方法
GetFiles方法的功能是返回一个字符串数组,其中包括指定文件夹的所有文件
的完整路径名,但不包括子文件夹中的文件名。调用的语法格式如下: Directory.GetFiles( path , pattern) 例如,下面示例获得C盘dir1文件夹中的所有文件的名字,将其存放到字符串
Directory.CreateDirectory("C:\temp" ) CreateDirectory方法还可以一次建立多级文件夹,示例如下:
Directory.CreateDirectory("C:\dir1\dir2\dir3" )
2)Delete方法 Delete方法的功能是删除指定文件夹及其中的所有文件和子文件夹,调用的 语法格式如下: Directory.Delete( path , force) 例如,删除C盘根文件夹中的名为temp的空文件夹,方法如下: Directory.Delete("C:\temp" ) 若temp文件夹中没有任何文件或子文件夹,即可成功删除,否则将产生异常。 如要删除含有子文件夹的文件夹,应使用带force参数的方法,示例如下: Directory.Delete("C:\ temp" , True )
Dim di As New DirectoryInfo( "C:\WinNT" )
Dim itemsInfo() As FileSystemInfo
ItemsInfo = di.GetFileSystemInfos( "*system*" )
FileSystemInfo对象的常用属性见表8.5。
如果要区分是文件还是文件夹,可以判断FileSystemInfo对象的Attributes属性 是否为文件夹(即是否等于FileAttribute枚举的Directory值),是即为文件夹,否 则就是文件。代码如下:
若要列举C:\WinNT下所有的文件夹和文件名,可以使用下面的语句:
Dim myFiles () As String
For Each myFiles In Directory.GetFileSystemEntries ( "C:\ WinNT" )
Console.WriteLine(myFiles)
数组myFiles中: Dim myFiles() As String myFiles = Directory.GetFiles( "C:\dir1" ) GetFiles方法还可以使用通配符,获得符合条件的文件名。例如,要获得
C:\WinNT下所有扩展名为ini的文件名,使用下面的语句: Dim myFiles () As String myFiles = Directory.GetFiles( "C:\ WinNT" , " *.ini " )
System.IO名称空间提供如下功能(括号中是提供相应功能的类): (1)建立、删除、管理文件和文件夹(File和Directory)。 (2)监控文件和文件夹的访问操作(FileSystemWatcher)。 (3)对流进行单字节字符或字节块的读/写操作(SystemReader和 SystemWriter)。 (4)对流进行多字节字符的读/ 写操作(SystemReader和SystemWriter)。 (5)对流进行字符的读/ 写操作(SystemReader和SystemWriter)。 (6)对字符串进行字符的读/ 写操作,并允许把字符串作为字符流处理 (StringReader和StringWriter)。 (7)从一个流中读取数据类型和对象,或将数据类型和对象写入流中 (BinaryReader和BinaryWriter)。
2)GetFileSystemInfos方法 GetFileSystemInfos方法的功能是返回一个FileSystemInfo对象数组,数组中的 每个元素都是当前实例所表示的文件夹中的文件和子文件夹。调用的语法格式如 下: 对象名.GetFileSystemInfos(pattern) 例如,获取C盘根文件夹中所有文件和子文件夹对象,示例如下:
Directory.GetFileSystemEntries( path , pattern) 例如,下面示例获得C盘dir1文件夹中所有文件夹和文件的名字,将其存放到 字符串数组myFiles中: Dim myFiles() As String myFiles = Directory.GetFileSystemEntries( C:\dir1" )
相关主题