关于Directory类

Directory类公开用于通过目录和子目录进行创建,移动和枚举的静态方法,该类是密封(seal)类,无法继承此类。该类位于命名空间System.IO中。

Directory类成员方法如下:

CreateDirectory(String) 在指定的路径中创建所有的目录和子目录,除非该目录已经存在

CreateDirectory(String,DirectorySecrurity)在指定的路径中创建所有的目录和子目录(除非该目录已经存在),并使用指定的windows安全性

Delete(String)从指定路径删除空目录

Delete(String,Boolean)删除指定的目录,并删除该目录下的所有目录和子文件

EnumerateDirectories(String)返回指定目录中可枚举的集合

EnumerateDirectories(String,String)  从指定目录中删除与搜索模式匹配的目录名的可枚举集合

EnumerateDirectories(String,String,SearchOption)  从指定目录中删除与搜索模式匹配的目录名的可枚举集合,还可以搜索子目录

EnumerateFiles(String)返回指定路径中的文件的可枚举集合

EnumerateFiles(String,String)返回指定路径中与搜索模式匹配的文件名的可枚举集合

EnumerateFiles(String,String,SearchOption)返回指定路径中的文件的可枚举集合,还可以搜索子目录

EnumerateFileSystemEntries(String)返回指定路径中的文件名和目录名的可枚举集合

EnumerateFileSystemEntries(String,String)返回指定路径中与搜索模式匹配的的文件名和目录名的可枚举集合

EnumerateFileSystemEntries(String,String)返回指定路径中与搜索模式匹配的的文件名和目录名的可枚举集合,还可以搜索子目录

Exists(String)确定给定路径是否引用哦磁盘上现有的目录

GetAccessControl(String)获取DirectorySecurity对象,该对象封装指定目录的访问控制列表项(并不知道这个代表什么意思)

GetCreationTime(String)获取目录的创建日期和时间

GetCreationTimeUtc(String)获取目录的创建日期和时间,格式为utc

GetCurrentDirectory()获取应用程序的当前工作目录

GetDirectories(String) 返回指定目录中的子目录中的名称

GetDirectories(String,String) 返回指定目录中与搜索模式匹配的子目录中的名称

GetDirectories(String,String,SearchOption) 返回指定目录中与搜索模式匹配的子目录中的名称,还可以搜索子目录

GetDirectoryRoot(string)返回指定路径的根信息,卷信息或者同时返回,也就是指定路径位于磁盘的名称

GetFiles(String)返回指定路径中文件(是文件而不是目录,目录是不会返回的)的名称,包括其路径

GetFiles(String,String)返回指定路径中与搜索模式匹配的文件(是文件而不是目录,目录是不会返回的)的名称,包括其路径

GetFiles(String,String,SearchOption)返回指定路径中文件(是文件而不是目录,目录是不会返回的)的名称,包括其路径,还可以搜索子目录

GetFileSystemEntries(String) 返回指定路径中的所有文件和子目录的名称。

GetFileSystemEntries(String,String) 返回指定路径中与搜索模式匹配的所有文件和子目录的名称。

GetFileSystemEntries(String,String,SearchOption) 返回指定路径中与的所有文件和子目录的名称。还可以搜索子目录
GetLastAccessTime(String)返回上次访问指定文件或目录的日期和时间
GetLastAccessTimeUtc(String)返回上次访问指定文件或目录的日期和时间,格式为UTC格式
GetLastWriteTime(String)返回上次写入指定文件或目录的日期和时间
GetLastWriteTimeUtc(String)返回上次写入指定文件或目录的日期和时间,格式为UTC
GetLogicalDrives() 检索此计算机上格式为"<driver letter>:\"的逻辑驱动器的名称
GetParents(String)检索指定路径的父目录,包括绝对路径和相对路径
Move(String,String)将文件或目录移动新位置
SetAccessControl(String,DirectorySecurity)将DirectorySecurity对象描述的访问控制列表项应用于指定的目录
SetCreationTime(String,DateTime)为指定的文件或目录设定创建的日期和时间
SetCreationTimeUtc(String,DateTime)为指定的文件或目录设定创建的日期和时间,格式为utc
SetCurrentDirectory(String)将应用程序的当前工作目录设置为指定的目录
SetLastAccessTime(String,DateTime)为指定的目录设置上次访问的时间
SetLastAccessTimeUtc(String,DateTime)为指定的目录设置上次访问的时间,格式为utc
SetLastWriteTime(String,DateTime)为指定的目录设置上次写入的时间
SetLastWriteTimeUtc(String,DateTime)为指定的目录设置上次写入的时间,格式为utc

C#中路径一般有一下三种写法:

"C:\\MyDir" "My\\MySubdir" "\\\\MyServer\\MyShare"

一下是微软官方的几个简单的关于类Directory的例子


using System;
using System.IO;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string sourceDirectory = @"C:\current";
            string archiveDirectory = @"C:\archive";

            try
            {
                var txtFiles = Directory.EnumerateFiles(sourceDirectory, "*.txt");

                foreach (string currentFile in txtFiles)
                {
                    string fileName = currentFile.Substring(sourceDirectory.Length + 1);
                    Directory.Move(currentFile, Path.Combine(archiveDirectory, fileName));
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
    }
}

using System;
using System.IO;
using System.Linq;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string archiveDirectory = @"C:\archive";

            var files = from retrievedFile in Directory.EnumerateFiles(archiveDirectory, "*.txt", SearchOption.AllDirectories)
                        from line in File.ReadLines(retrievedFile)
                        where line.Contains("Example")
                        select new
                        {
                            File = retrievedFile,
                            Line = line
                        };

            foreach (var f in files)
            {
                Console.WriteLine("{0} contains {1}", f.File, f.Line);
            }
            Console.WriteLine("{0} lines found.", files.Count().ToString());
        }
    }
}

using System;
using System.IO;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string sourceDirectory = @"C:\source";
            string destinationDirectory = @"C:\destination";

            try
            {
                Directory.Move(sourceDirectory, destinationDirectory);  
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
    }
}























评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值