C#中DirectoryInfo类、目录信息类、文件夹信息类的用法
DirectoryInfo类和Directory类之间的关系与FileInfo类和File类之间的关系十分类似。下面介绍一下DirectoryInfo类的常用属性。
DirectoryInfo类的常用属性及说明如表所示。
表 DirectoryInfo类的常用属性及说明
属性
|
说明
|
Attributes
|
设置当前 FileSystemInfo 的 FileAttributes
|
CreationTime
|
设置当前 FileSystemInfo 对象的创建时间
|
Exists
|
获取指示目录是否存在的值
|
FullName
|
获取目录或文件的完整目录
|
Parent
|
获取指定子目录的父目录
|
Name
|
获取此 DirectoryInfo 实例的名称
|
下面对DirectoryInfo类中比较重要的属性进行详细介绍。
(1)CreationTime属性
设置当前 FileSystemInfo 对象的创建时间。
语法:
publicDateTimeCreationTime{get;set;} |
属性值:当前 FileSystemInfo 对象的创建日期和时间。
例如,获得F:\test\0000\目录下文件夹AA的创建日期和时间,首先将DirectoryInfo实例化,然后通过CreationTime属性得到此文件夹的创建日期和时间。代码如下所示:
stringPaths=@"F:\test\0000\AA"; DirectoryInfodi=newDirectoryInfo(Paths);//将DirectoryInfo实例化 stringname=di.CreationTime.ToString();//通过CreationTime属性得到此文件夹的创建日期和时间 Label1.Text="文件夹创建时间:"+name; |
(2)Exists属性
判断指定的文件夹是否存在。
语法:
publicoverrideboolExists{get;} |
属性值:如果目录存在,则为 True;否则为 False。
例如,判断F:\test\0000\目录下是否存在名为ls的文件夹,首先要将DirectoryInfo实例化,然后通过Exists属性判断此文件夹是否存在,如果文件夹存在,返回值为True,否则为False。代码如下所示:
stringPaths=@"F:\test\0000\AA"; DirectoryInfodi=newDirectoryInfo(Paths); if(di.Exists) { Page.RegisterStartupScript("","<script>alert('该文件夹已经存在')</script>"); } |
DirectoryInfo类的常用方法及说明如表所示。
表DirectoryInfo类的常用方法及说明
方法
|
说明
|
Create
|
创建目录
|
CreateObjRef
|
创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息
|
CreateSubdirectory
|
在指定路径中创建一个或多个子目录。指定路径可以是相对于 DirectoryInfo 类的此实例的路径
|
Delete
|
从路径中删除 DirectoryInfo 及其内容
|
Equals
|
确定两个 Object 实例是否相等
|
GetAccessControl
|
获取当前目录的访问控制列表 (ACL) 项
|
GetDirectories
|
返回当前目录的子目录
|
GetFiles
|
返回当前目录的文件列表
|
GetFileSystemInfos
|
检索表示当前目录的文件和子目录的强类型 FileSystemInfo 对象的数组
|
GetHashCode
|
用作特定类型的哈希函数。GetHashCode 适合在哈希算法和数据结构(如哈希表)中使用
|
GetLifetimeService
|
检索控制此实例的生存期策略的当前生存期服务对象
|
GetObjectData
|
设置带有文件名和附加异常信息的 SerializationInfo 对象
|
GetType
|
获取当前实例的 Type
|
InitializeLifetimeService
|
获取控制此实例的生存期策略的生存期服务对象
|
MoveTo
|
将 DirectoryInfo 实例及其内容移动到新路径
|
ReferenceEquals
|
确定指定的 Object 实例是否是相同的实例
|
Refresh
|
刷新对象的状态
|
SetAccessControl
|
将 DirectorySecurity 对象所描述的访问控制列表 (ACL) 项应用于当前 DirectoryInfo 对象所描述的目录
|
ToString
|
返回用户所传递的原始路径
|
下面对DirectoryInfo类中比较重要的方法进行详细介绍。
(1)Create方法
此方法可以方便的创建目录。
语法:
例如,在D盘下创建名为AA的文件夹,首先要将DirectoryInfo类实例化,然后判断是否存在同名的文件夹,如果不存在,则使用Create方法创建目录。代码如下所示:
stringpath="D:\\AA"; DirectoryInfodi=newDirectoryInfo(path); if(!di.Exists) { di.Create(); } else { Response.Write("此文件夹已经存在!"); } |
(2)GetFileSystemInfos方法
返回表示某个目录中所有文件和子目录的强类型FileSystemInfo项的数组。
语法:
publicFileSystemInfo[]GetFileSystemInfos() |
返回值:
强类型 FileSystemInfo 项的数组。
(3)MoveTo方法
将指定的内容移动到新路径。
语法:
publicvoidMoveTo(stringdestDirName) |
参数:
destDirName :要将此目录移动到的目标位置的名称和路径,目标不能是另一个具有相同名称的磁盘卷或目录。
(4)Delete方法
删除指定的文件夹。
语法:
publicoverridevoidDelete() |
例如,删除D盘下名为AA的文件夹,首先将DirectoryInfo类实例化,然后判断是否存在此文件夹,如果存在则使用Delete方法删除此文件夹。
stringpath="D:\\AA"; DirectoryInfodi=newDirectoryInfo(path); if(di.Exists) { di.Delete(); } else { Response.Write("不存在此文件夹!"); } |
分享到:
相关推荐
使用FileInfo和DirectoryInfo,通过遍历的方法,将目录A下的所有文件和文件夹都复制到目录B下。代码简单,可复用性强。希望能帮到大家
2、使用Directory类对指定文件夹下的今天或者更早日期之前的文件进行删除。 3、 //文件夹路径 string strFolderPath = Server.MapPath(“~”) + “\\excel\\”; DirectoryInfo dyInfo = new DirectoryInfo...
分别介绍了C#语言基础、Windows窗体及常用控件、Windows高级控件、控件公共属性、方法及事件、数据库开发、文件、数据流与注册表、GDI+绘图技术和C#高级编程,共包含562个C#编程中常用的属性、方法、类和各种技术,...
在.Net中,对文件(File)和文件夹(Folder)的操作可以使用File类和Directory类,也可以使用FileInfo类和DirectoryInfo类。文件夹(Folder)是只在Windows操作系统中使用的名词。在操作系统的理论中,人们更习惯于...
12.5 文件夹信息类DirectoryInfo 233 12.6 流 234 12.7 文件流类FileStream 235 12.7.1 FileStream文件流类的创建 235 12.7.2 获取和设置文件流属性信息 236 12.8 流写入类StreamWriter 237 12.9 流读取类...
本书从初学者角度出发,通过通俗易懂的语言和大量生动典型的实例,由浅入深、循序渐进地介绍使用C#进行WinForms程序开发的常用技术和方法。全书分起步篇、提高篇和实例篇三篇,共21章。起步篇为第1章~第10章,主要...
ASP.NET 4高级程序设计(第4版)》【原版书为:Pro ASP.NET 4 in C# 2010】是ASP.NET领域的鸿篇巨制,全面讲解了ASP.NET4的各种特性及其背后的工作原理,并给出了许多针对如何构建复杂、可扩展的网站从实践中得出的...
DirectoryInfo类743 22.1.3 File和FileInfo类749 22.1.4 使用路径753 22.1.5 文件和目录的属性、 特性和访问控制列表757 22.2 读写文件764 22.2.1 流764 22.2.2 Reader和Writer769 22.2.3 压缩流773 22.3 处理...
8.4.4 使用Master页面中的控件和属性 237 8.5 在Master页面中指定默认内容 244 8.6 编程指定Master页面 246 8.7 Master页面的嵌套 246 8.8 容器特定的Master页面 249 8.9 事件的触发顺序 251 8.10 高速缓存...
C#马氏链(通用) 使用马尔可夫链进行简单的... 基于文件夹中所有文件中的所有单词进行训练的示例代码: DirectoryInfo Folder = new DirectoryInfo ( SamplesFolder ); FileInfo [] Files = Folder . GetFiles (