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) 返回指定路径中与搜索模式匹配的所有文件和子目录的名称。
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);
}
}
}
}