Directory类 是一个静态类,常用的地方为创建目录和目录管理。

一下来看看它提供的操作。

1、CreateDirectory       根据指定路径创建目录。有重载,允许一次过创建多个目录。 
2、Delete             删除指定的目录。     有重载,指示目录有子目录的情况下,是否删除子目录。 true则连同子目录一起删除。flase则不删除目录,并返回                 一个异常。
3、Exists             确定给定路径是否引用磁盘上的现有目录。 
4、GetAccessControl       已重载。 返回某个目录的 Windows 访问控制列表 (ACL)。 
5、GetCreationTime         获取目录的创建日期和时间。 
6、GetCreationTimeUtc    获取目录创建的日期和时间,其格式为协调通用时间 (UTC)。 
7、GetCurrentDirectory     获取应用程序的当前工作目录。 
8、GetDirectories        已重载。 获取指定目录中子目录的名称(字符串数组)。支持用正则表达式匹配符合名称的目录名。 注意,只返回目录名,不返回文件名
9、GetDirectoryRoot       返回指定路径的卷信息、根信息或两者同时返回。 
10、GetFiles            已重载。 返回指定目录中的文件的名称(字符串数组)。注意只返回文件名,不返回目录    
11、GetFileSystemEntries    已重载。 返回指定目录中所有文件和子目录的名称(字符串数组)。目录名与文件名一起返回。 支持正则表达式检索。
12、GetLastAccessTime      返回上次访问指定文件或目录的日期和时间。 
13、GetLastAccessTimeUtc   返回上次访问指定文件或目录的日期和时间,其格式为协调通用时间 (UTC)。 
14、GetLastWriteTime      返回上次写入指定文件或目录的日期和时间。 
15、GetLastWriteTimeUtc     返回上次写入指定文件或目录的日期和时间,其格式为协调通用时间 (UTC)。 
16、GetLogicalDrives      检索此计算机上格式为“<驱动器号>:\”的逻辑驱动器的名称。 
17、GetParent          检索指定路径的父目录,包括绝对路径和相对路径。 
18、Move            将文件或目录及其内容移到新位置。 
19、SetAccessControl     将 DirectorySecurity 对象描述的访问控制列表 (ACL) 项应用于指定的目录。 
20、SetCreationTime      为指定的文件或目录设置创建日期和时间。 
21、SetCreationTimeUtc     设置指定文件或目录的创建日期和时间,其格式为协调通用时间 (UTC)。 
22、SetCurrentDirectory    将应用程序的当前工作目录设置为指定的目录。 
23、SetLastAccessTime     设置上次访问指定文件或目录的日期和时间。 
24、SetLastAccessTimeUtc  设置上次访问指定文件或目录的日期和时间,其格式为协调通用时间 (UTC)。 
25、SetLastWriteTime     设置上次写入目录的日期和时间。 
26、SetLastWriteTimeUtc    设置上次写入某个目录的日期和时间,其格式为协调通用时间 (UTC)。

以下是实例;一个空行代表一个方法的测试。

static void Main(string[] args)
{
    Directory.CreateDirectory(@"E:\123");   //在E盘下创建一个名为123的文件夹
 
 
    string[] strArr = Directory.GetDirectories(@"E:\123");
    foreach (string str in strArr)
    {
        Console.WriteLine(str);         //输出E:\123下所有的子目录名称 如:E:\123\1
    }
 
    DateTime CreateDate = Directory.GetCreationTime(@"E:\123");
    Console.Write(CreateDate.ToString());   //输出2013/1/13 14:54:55  目录的创建时间
 
    DateTime CreateDateUTC = Directory.GetCreationTimeUtc(@"E:\123");
    Console.Write(CreateDateUTC.ToString());  //输出2013/1/13 6:54:55   全球标准时间
 
    string str = Directory.GetDirectoryRoot(@"E:\123");
    Console.Write(str); //输出 E:\
 
    string[] strArr = Directory.GetFiles(@"E:\123");
    foreach (string str in strArr)
    {
        Console.WriteLine(str);         //输出E:\123\新建文本文件.txt
    }
 
    string[] strArr = Directory.GetFileSystemEntries(@"E:\123");
    foreach (string str in strArr)
    {
        Console.WriteLine(str);         //输出E:\1 E:\12 E\:123 E:\新建文本文件.txt     所有的子目录名与文件名
    }
 
    DateTime lastAccessDate = Directory.GetLastAccessTime(@"E:\123");
    Console.Write(lastAccessDate.ToString());   //输出2013/1/13 14:58:32    上传访问时间
 
    DateTime lastAccessDate = Directory.GetLastAccessTimeUtc(@"E:\123");
    Console.Write(lastAccessDate.ToString());   //输出2013/1/13 6:58:32    上传访问时间,全球标准时间
 
    DateTime lastWriteTime = Directory.GetLastWriteTime(@"E:\123");
    Console.Write(lastWriteTime.ToString());      //输出2013/1/13 14:58:32    上传写入时间
 
    DateTime lastWriteTime = Directory.GetLastWriteTimeUtc(@"E:\123");
    Console.Write(lastWriteTime.ToString());      //输出2013/1/13 14:58:32    上传写入时间  全球标准时间
 
    string[] strAyy = Directory.GetLogicalDrives(); //检索计算机的所有盘符
    foreach (string str in strAyy)
    {
        Console.WriteLine(str);                     //输出C:\ D:\ E:\ F:\ G:\
    }
 
    DirectoryInfo dif = Directory.GetParent(@"E:\123");
    Console.Write(dif.FullName);                      //输出E:\
 
    Directory.Move(@"E:\123", @"E:\new");        //将E盘下的123目录移动到new目录,注意new目录不能存在,该方法会自动创建第二个参数中的目录,如果存在会报错
 
    Directory.SetCreationTime(@"E:\123", DateTime.Now.AddDays(7));
    Console.Write(Directory.GetCreationTime(@"E:\123"));    //输出2013/1/20 15:58:59  //创建时间加了7天
 
    Directory.SetCreationTimeUtc(@"E:\123", DateTime.Now.AddDays(7));
    Console.Write(Directory.GetCreationTimeUtc(@"E:\123"));    //输出2013/1/20 8:01:36
 
    Directory.SetCurrentDirectory(@"E:\123");               //将该目录设置为当前程序的工作目录
    Console.Write(Directory.GetCurrentDirectory());         //输出E:\123
 
    Directory.SetLastAccessTime(@"E:\123", DateTime.Now.AddDays(-1));
    Console.Write(Directory.GetLastAccessTime(@"E:\123"));    //输出2013/1/12 16:06:36    已经变为昨天了
 
    Directory.SetLastAccessTimeUtc(@"E:\123", DateTime.Now.AddDays(-1));
    Console.Write(Directory.GetLastAccessTimeUtc(@"E:\123"));    //输出2013/1/12 8:07:21    已经变为昨天,全球标准时间
 
 
    Directory.SetLastWriteTime(@"E:\123", DateTime.Now.AddDays(-1));
    Console.Write(Directory.GetLastWriteTime(@"E:\123"));          //输出2013/1/12 16:09:23
 
    Directory.SetLastWriteTimeUtc(@"E:\123", DateTime.Now.AddDays(-1));
    Console.Write(Directory.GetLastWriteTimeUtc(@"E:\123"));          //输出2013/1/12 8:09:50     全球标准时间
 
    if (Directory.Exists(@"E:\123"))        //如果E盘下存在123的文件夹
    {
        Directory.Delete(@"E:\123", true);              //删除E盘下的123文件夹
    }
    Console.ReadKey();
}

C# Directory类的更多相关文章

  1. I/O Directory类

    Directory类 Directory类位于System.IO 命名空间.Directory类提供了在目录和子目录中进行创建移动和列举操作的静态方法.此外,你还可以访问和操作各种各样的目录属性. 1 ...

  2. System.IO.Directory类

    1.参考的博客:System.IO.Directory类和System.DirectoryInfo类(http://blog.sina.com.cn/s/blog_614f473101017du4.h ...

  3. .net学习之集合、foreach原理、Hashtable、Path类、File类、Directory类、文件流FileStream类、压缩流GZipStream、拷贝大文件、序列化和反序列化

    1.集合(1)ArrayList内部存储数据的是一个object数组,创建这个类的对象的时候,这个对象里的数组的长度为0(2)调用Add方法加元素的时候,如果第一次增加元神,就会将数组的长度变为4往里 ...

  4. 文件处理-Directory类 (C#)

    转http://skybirdzw.blog.163.com/blog/static/7257062620099751329403/ 文件处理-Directory类 (C#) Directory.Cr ...

  5. 文件及文件夹操作- File类、Directory 类、FileInfo 类、DirectoryInfo 类

    文件及文件夹操作: C/S:WinForm可以操作客户端文件 Client ServerB/S:Brower Server 命名空间:using system .IO; 1. File类: 创建:Fi ...

  6. Directory 类

    Directory 类 该类公开,主要用于创建.移动和枚举通过目录和子目录的静态方法.此类不能被继承.       命名空间: System.IO;       程序集: mscorlib(在 msc ...

  7. C# Directory类的操作

    Directory类位于System.IO 命名空间.Directory类提供了在目录和子目录中进行创建移动和列举操作的静态方法.此外,你还可以访问和操作各种各样的目录属性,例如创建或最后一次修改时间 ...

  8. Directory类的使用、Alt+Shift+F10可以查看其命名空间

    对于一个对象,按下Alt+Shift+F10可以查看其命名空间. Directory类的使用 using System; using System.Collections.Generic; using ...

  9. C#文件操作常用相关类(Directory类、File类、Path类)

    1.文件操作常用相关类 1)File //操作文件,静态类,对文件整体操作.拷贝.删除.剪切等 2)Directory //操作目录(文件夹),静态类 3)DirectoryInfo //文件夹的一个 ...

随机推荐

  1. LeetCode_Distinct Subsequences

    Given a string S and a string T, count the number of distinct subsequences of T in S. A subsequence ...

  2. 《Programming WPF》翻译 第8章 1.动画基础

    原文:<Programming WPF>翻译 第8章 1.动画基础 动画包括在一段时间内改变用户界面的某些可见的特征,如它的大小.位置或颜色.你可以做到这一点,非常困难的通过创建一个tim ...

  3. SICP 练习 1.3

    (define (sum a b) (+ a b)) (define (sum-two a b c) ( cond ((and (> (sum a b) (sum a c)) (> (su ...

  4. poj 1149 pigs(最大流)

    题目大意:迈克在农场工作,农场有 m 个猪舍,每个猪舍有若干只猪,但是迈克不能打开任何一间猪舍.有 n 个顾客前来购买,每个顾客有最大的购买数量,每个顾客可以购买某些猪舍的猪,且顾客可以打开这些猪舍, ...

  5. Poj2761-Feed the dogs(伸展树求名次)

    Description Wind loves pretty dogs very much, and she has n pet dogs. So Jiajia has to feed the dogs ...

  6. Openstack no valid hot

    错误: 创建实例 "ce" 失败: 请稍后再试 [错误: No valid host was found. ].

  7. Hive 3、Hive 的安装配置(本地derby模式)

    这种方式是最简单的存储方式,只需要在hive-site.xml做如下配置便可; $ vim hive-site.xml <configuration>   <property> ...

  8. Jndi and c3p0 in Tomcat

    Tomcat 中Jndi是使用Tomcat自带的连接池抛弃Tomcat自带的连接池.使用c3p0 . 环境:Tomcat 5.5.20下面配置只适合Tomcat 5.5.X 下面来看Jndi 与 c3 ...

  9. Cocoa Pods的安装

    CocoaPods是用Ruby实现的,要想使用它首先需要有Ruby的环境.幸运的是OS X系统默认已经可以运行Ruby了,因此我们只需执行以下命令: sudo gem install -n /usr/ ...

  10. struts——文件上传

    上传文件在一个系统当中是一个很常用的功能,也是一个比较重要的功能.今天我们就一起来学习一下Struts2如何上传文件. 今天讲的上传文件的方式有三种: 1,以字节为单位传输文件: 2,Struts2封 ...